最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to set value of checkbox when checked and unchecked using ajax or jquery - Stack Overflow

programmeradmin5浏览0评论

I need to get the value of the checkboxes when checked and unchecked and save it in database. The value is 1 if checked and 0 if unchecked, respectively. I am currently using the snippet below and it show the result i want when i alert it. But the problem es when saving in the database. It still gets the value I have set in my checkbox E.G: value='1'.

Here is my jQuery code:

$(document).ready(function() {
    $('input[type="checkbox"]').click(function() {
        var val = this.type == "checkbox" ? +this.checked : this.value ;            
    });
});

Here is my HTML checkbox:

<input type="checkbox" value="1" name="one_by_one" id="one_by_one" class="one_by_one">One

I need to get the value of the checkboxes when checked and unchecked and save it in database. The value is 1 if checked and 0 if unchecked, respectively. I am currently using the snippet below and it show the result i want when i alert it. But the problem es when saving in the database. It still gets the value I have set in my checkbox E.G: value='1'.

Here is my jQuery code:

$(document).ready(function() {
    $('input[type="checkbox"]').click(function() {
        var val = this.type == "checkbox" ? +this.checked : this.value ;            
    });
});

Here is my HTML checkbox:

<input type="checkbox" value="1" name="one_by_one" id="one_by_one" class="one_by_one">One
Share Improve this question edited Oct 6, 2014 at 16:35 jjydummya asked Oct 6, 2014 at 16:12 jjydummyajjydummya 632 silver badges11 bronze badges 8
  • How are you saving it to your database? – j08691 Commented Oct 6, 2014 at 16:15
  • @j08691 I was using an html form in codeigniter. So when i press save button the data will be saved in the mysql database. – jjydummya Commented Oct 6, 2014 at 16:16
  • @FelixKling I see. How can i do that in the server side? – jjydummya Commented Oct 6, 2014 at 16:17
  • Probably something like $value = isset($_POST['one_by_one']) ? 1 : 0;. If you are using codeigniter than it might provide helper functions for accessing the data of a request. – Felix Kling Commented Oct 6, 2014 at 16:19
  • @FelixKling Is there a way to set it on client side? Jquery perhaps? – jjydummya Commented Oct 6, 2014 at 16:23
 |  Show 3 more ments

2 Answers 2

Reset to default 5

Probably you want this:

$('input[type="checkbox"]').click(function () {
    $(this).prop("checked") ? $(this).val("1") : $(this).val("0")
});
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" value="1" name="one_by_one" id="one_by_one" class="one_by_one">One

The value of a checkbox never changes (by itself). If the checkbox is not checked its value simply won't be sent to the server. So at the server side you should check whether one_by_one is included in the request and set the value accordingly (e.g. set 0 if it doesn't exist or the value of one_by_one if it does).

发布评论

评论列表(0)

  1. 暂无评论