jQuery Ajax复选框状态

时间:2010-06-25 11:43:47

标签: jquery ajax checkbox state

我的页面上有复选框,我想通过ajax将状态发送回数据库。我知道如何使用jquery与ajax,但我不知道如何获得已检查状态,检查和取消选中以及复选框的ID,以便我可以将其发送回服务器。

有什么想法吗?

5 个答案:

答案 0 :(得分:21)

if ($("#yourCheckboxID").is(":checked")) {  
    // checkbox is checked 
} else {
    // checkbox is not checked 
}

将完成这项工作。

答案 1 :(得分:16)

这样的事情:

<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>

答案 2 :(得分:9)

结合您的解决方案和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>

答案 3 :(得分:2)

将change事件添加回合并的解决方案。每当复选框被更改时,都要激活它。

System.Diagnostics.Process.Start(oInitialPath & ".idw")
oDrawingDoc = _invApp.Documents.ItemByName(oInitialPath & ".idw")
oDrawingDoc.SaveAs(StripFilename(MyFile) & oNewName & ".idw", False)

答案 4 :(得分:0)

很容易找到复选框:

$(':checkbox').whatever()

诀窍是,在HTML复选框中,只有选中时才有意义的值。当他们没有被检查时,你告诉服务器什么?

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

var params = $.param($(':checkbox').map(function() {
   return { name: this.id, value: !!this.checked };
}));

这会为您提供一个字符串,可以将其添加到网址上,或通过$.ajax作为数据发送。