jQuery Ajax复选框状态

jQuery Ajax复选框状态,jquery,ajax,checkbox,state,Jquery,Ajax,Checkbox,State,我的页面上有一些复选框,我希望通过ajax将它们的状态发送回数据库。我知道如何将jquery与ajax结合使用,但我不知道如何获得选中状态,包括选中状态和未选中状态以及复选框的id,以便将其发送回服务器 有什么想法吗?很容易找到复选框: $(':checkbox').whatever() 诀窍在于,HTML中的复选框只有在选中时才有意义。如果没有检查它们,您会告诉服务器什么 好吧,如果你有一个约定要处理(可能总是在选中时发送“true”,而在未选中时发送“false”),那么接下来你必须决定如

我的页面上有一些复选框,我希望通过ajax将它们的状态发送回数据库。我知道如何将jquery与ajax结合使用,但我不知道如何获得选中状态,包括选中状态和未选中状态以及复选框的id,以便将其发送回服务器


有什么想法吗?

很容易找到复选框:

$(':checkbox').whatever()
诀窍在于,HTML中的复选框只有在选中时才有意义。如果没有检查它们,您会告诉服务器什么

好吧,如果你有一个约定要处理(可能总是在选中时发送“true”,而在未选中时发送“false”),那么接下来你必须决定如何将它们发送到你的服务器。您可以使用jQuery
param
函数将列表转换为参数字符串:

var params = $.param($(':checkbox').map(function() {
   return { name: this.id, value: !!this.checked };
}));
这将为您提供一个字符串,可以将其固定到URL上,或者通过
$.ajax
作为数据发送

if ($("#yourCheckboxID").is(":checked")) {  
    // checkbox is checked 
} else {
    // checkbox is not checked 
}
我会做这项工作的。

类似这样的事情:

<script type="text/javascript">
    $(document).ready(function(){
        $("input:checkbox").change(function() { 
            if($(this).is(":checked")) { 
                $.ajax({
                    url: 'on_off.aspx',
                    type: 'POST',
                    data: { strID:$(this).attr("id"), strState:"1" }
                });
            } else {
                $.ajax({
                    url: 'on_off.aspx',
                    type: 'POST',
                    data: { strID:$(this).attr("id"), strState:"0" }
                });
            }
        }); 
    });
</script>

$(文档).ready(函数(){
$(“输入:复选框”).change(函数(){
如果($(this).is(“:checked”){
$.ajax({
url:“on_off.aspx”,
键入:“POST”,
数据:{strID:$(this.attr(“id”),strState:“1”}
});
}否则{
$.ajax({
url:“on_off.aspx”,
键入:“POST”,
数据:{strID:$(this.attr(“id”),strState:“0”}
});
}
}); 
});

结合您的解决方案和Ain接受的答案:

<script type="text/javascript">
  $(document).ready(function(){
    var isChecked = $("input:checkbox").is(":checked") ? 1:0; 
    $.ajax({
            url: 'on_off.aspx',
            type: 'POST',
            data: { strID:$("input:checkbox").attr("id"), strState:isChecked }
    });        
  });
</script>

$(文档).ready(函数(){
var isChecked=$(“输入:复选框”)。是否(“:选中”)?1:0;
$.ajax({
url:“on_off.aspx”,
键入:“POST”,
数据:{strID:$(“输入:复选框”).attr(“id”),strState:isChecked}
});        
});

将更改事件中的内容添加回合并的解决方案。希望在每次更改复选框时触发此复选框

<script type="text/javascript">
    $(document).ready(function(){
        $("input:checkbox").change(function() { 
            var isChecked = $("input:checkbox").is(":checked") ? 1:0; 
            $.ajax({
                url: 'on_off.aspx',
                type: 'POST',
                data: { strID:$("input:checkbox").attr("id"), strState:isChecked }
            });        
        });        
    });
</script>

$(文档).ready(函数(){
$(“输入:复选框”).change(函数(){
var isChecked=$(“输入:复选框”)。是否(“:选中”)?1:0;
$.ajax({
url:“on_off.aspx”,
键入:“POST”,
数据:{strID:$(“输入:复选框”).attr(“id”),strState:isChecked}
});        
});        
});