Checkbox 与复选框相关的ajax问题

Checkbox 与复选框相关的ajax问题,checkbox,Checkbox,这是我的ajax代码 $(document).ready(function (e) { $('.checkbox').click(function (e) { $(event.currentTarget).val($(event.currentTarget)[0].checked); var Curl = $('#chkform').attr("action"); var

这是我的ajax代码

 $(document).ready(function (e) {
            $('.checkbox').click(function (e) {

                $(event.currentTarget).val($(event.currentTarget)[0].checked);
                var Curl = $('#chkform').attr("action");
                var val = $('.checkbox:checked').val();
                alert(val);
                $.ajax({
                    url: Curl,
                    type: "POST",
                    dataType: "json",
                    data: {
                        chk: val
                    },
                    contentType: false,
                    cache: false,
                    processData: false,
                    success: function (result) {
                        alert(result);
                        var l = result.length;
                        for (var i = 0; i < l; i++) {
                            $('#table').append($('<tbody>')
                                    .append($('<tr>')
                                            .append('<td>' + result[i].id + '</td>')
                                            .append('<td>' + result[i].product_name + '</td>')
                                            .append('<td>' + result[i].product_description + '</td>')
                                            .append('<td>' + result[i].product_price + '</td>')
                                            .append('<td>' + result[i].product_pieces + '</td>'))
                                    );

                        }

                    },
                    error: function () {
                    }
                });
            });
        });
 <form method="post" id="chkform" action="<?php echo site_url('form_sort/sorting') ?>" >
        <input type="checkbox" name="chk" value="5000-6999" class="checkbox">5000-6999<br>
        <input type="checkbox" name="chk" value="7000-8999" class="checkbox">7000-8999<br>
        <input type="checkbox" name="chk" value="9000-12999"class="checkbox">9000-12999<br>


    </form>

我无法在$chkvalue中获取复选框值,当我单击复选框警报时,结果为null我希望结果为复选框值,因为我回显$chkvalue。

我认为问题在于在单击函数中使用e作为参数,然后使用event.currentTarget

您可以使用类似以下内容:

$(document).ready(function (e) {
    $('.checkbox').click(function (event) {
        $(event.currentTarget).val($(event.currentTarget)[0].checked);
        //Rest of code here
    });
});
我不确定它是否会在您将e更改为event时起作用,我不明白您为什么更改目标的值

也许类似的方法会更好:

$(document).ready(function (e) {
    $('.checkbox').each(function(){
        $(this).on('click', function(){
          var Curl = $('#chkform').attr("action");
          var val;
          if($(this).is(":checked")){
           val = "checked"
          }else{
           val = "unchecked"
          }
        //Condition could be simplify to ($(this).is(":checked"))?val = "checked" : val = "unchecked"; where ? is the value if it's true and : the value if it's false
        alert("val="+val);
       //Ajax to send here
       });
    });
});
$(文档).ready(函数(e){
$('.checkbox')。单击(函数(e){
$.ajax({
url:Curl,
类型:“POST”,
数据:{
chk:val
},
cache:false,
成功:功能(结果){
var l=结果长度;
对于(变量i=0;i
我用这个来编辑代码。这是成功的,因为我注释processdata:false,所以我将复选框值作为post in控制器

$(document).ready(function (e) {
    $('.checkbox').each(function(){
        $(this).on('click', function(){
          var Curl = $('#chkform').attr("action");
          var val;
          if($(this).is(":checked")){
           val = "checked"
          }else{
           val = "unchecked"
          }
        //Condition could be simplify to ($(this).is(":checked"))?val = "checked" : val = "unchecked"; where ? is the value if it's true and : the value if it's false
        alert("val="+val);
       //Ajax to send here
       });
    });
});
 $(document).ready(function (e) {
            $('.checkbox').click(function (e) {




                $.ajax({
                    url: Curl,
                    type: "POST",

                    data: {
                        chk: val
                    },

                    cache: false,

                    success: function (result) {

                        var l = result.length;
                        for (var i = 0; i < l; i++) {
                            $('#table').append($('<tbody>')
                                    .append($('<tr>')
                                            .append('<td>' + result[i].id + '</td>')
                                            .append('<td>' + result[i].product_name + '</td>')
                                            .append('<td>' + result[i].product_description + '</td>')
                                            .append('<td>' + result[i].product_price + '</td>')
                                            .append('<td>' + result[i].product_pieces + '</td>'))
                                    );

                        }

                    },
                    error: function () {
                    }
                });
            });
        });