我的页面上有复选框,我想通过ajax将状态发送回数据库。我知道如何使用jquery与ajax,但我不知道如何获得已检查状态,检查和取消选中以及复选框的ID,以便我可以将其发送回服务器。
有什么想法吗?
答案 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
作为数据发送。