我在页面和表单提交上有多个复选框,我希望不发送所有这些复选框进行处理,但只发送那些状态已从页面加载中发生变化的复选框。
例如,在页面加载时,选中了复选框的原始状态。
然后用户点击相同的复选框3次,然后点击提交按钮:
那么有没有办法可以将第三次点击状态与页面加载状态进行比较?在这种情况下,我想发送该复选框数据,因为它的状态已经改变。另一方面,如果用户点击两次,我不想发送它进行处理,因为它的状态在页面加载期间已经恢复原状。
答案 0 :(得分:1)
当您提交html表单时,除非具有“已禁用”属性,否则将提交所有复选框。
一种策略可能是添加隐藏字段保存复选框的值,并在onSubmit上相互检查这两个,如果它们包含相同的值,则禁用该复选框。
答案 1 :(得分:0)
在这种情况下,您可以尝试这样的事情:
$(document).ready(function(){
// get check box state at the time of page load
if($('#chk1').is(':checked'))
{
var chkState1 = true;
}
else
{
var chkState1 = false;
}
$('#chk1').change(function(){
// get new state of this check box and compare it with the old one. If its state is diff than put it in the ajax call otherwise not
});
});