我在我的页面上有复选框,我想通过ajax将它们的状态发送回数据库。我知道如何使用jQuery与Ajax,但我不知道如何获得选中的状态,既复选框也取消选中复选框的ID,以便我可以将它发送回服务器。jQuery Ajax复选框状态
任何想法?
我在我的页面上有复选框,我想通过ajax将它们的状态发送回数据库。我知道如何使用jQuery与Ajax,但我不知道如何获得选中的状态,既复选框也取消选中复选框的ID,以便我可以将它发送回服务器。jQuery Ajax复选框状态
任何想法?
if ($("#yourCheckboxID").is(":checked")) {
// checkbox is checked
} else {
// checkbox is not checked
}
会完成这项工作。
很好地工作!谢谢。 – oshirowanen 2010-06-25 12:13:03
那么它是很容易找到的复选框:
$(':checkbox').whatever()
诀窍是,在HTML复选框只有一个值,这是有意义的,当检查。当他们没有被检查时,你告诉服务器什么?
那么,如果你有一个约定来处理(也许总是发送“真”的时候检查和“错误”时,不检查),你要决定的下一件事是如何让他们到你的服务器。您可以使用jQuery的param
功能打开列表转换为参数字符串:
var params = $.param($(':checkbox').map(function() {
return { name: this.id, value: !!this.checked };
}));
这让你随时可以上涨到一个URL,或通过$.ajax
以数据字符串。
事情是这样的:
<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>
由艾因结合您的解决方案和接受的答案:
<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>
加回在改变事件的合并方案。每当复选框发生更改时,都希望这样。
<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>
可以,你可以请... – 2010-06-25 11:50:15