我在页面和表单提交中有多个复选框,我不希望发送所有这些复选框进行处理,只希望发送那些状态与页面加载状态不同的复选框。
例如,在页面加载时,复选框的原始状态已被选中。
然后用户点击同一复选框3次,然后点击提交按钮:
- 第一次单击-状态更改为未选中
- 第二次点击-状态更改为已检查
- 第三次单击-状态更改为未选中
那么,有没有一种方法可以将第三次点击状态与页面加载状态进行比较?在这种情况下,我想发送复选框数据,因为它的状态已经更改。另一方面,如果用户单击两次,我不想发送它进行处理,因为在页面加载过程中,它的状态已经恢复到原来的状态。
提交html表单时,所有复选框都将提交,除非它们具有"disabled"属性。
一种策略可能是添加一个包含复选框值的隐藏字段,并在Submit上将这两个字段相互检查,如果它们包含相同的值,则禁用复选框。
在这种情况下,您可以尝试以下操作:
$(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
});
});