取消选中所有未更新的表单?

时间:2013-07-10 06:14:29

标签: jquery

当我检查多个复选框形式jQuery对话框表格更新后,我使用下面的代码

$(".chk").prop('checked', true); 

和相同的代码当我点击UncheckAll not removed checked属性我使用下面的代码

$('.chk:checkbox').prop('checked', false); 

然后我改为

$(".chk").val(0);
$(".chk").removeAttr("checked"); 
console.log(this); 

这里删除所有已检查的属性,但是当我提交表单未更新相同的表单时单击CheckAll正常工作但UncheckAll无法正常工作 什么是问题

<input type="checkbox" class="chk" id="meters" name="iDs" value="0" ></input>
<input type="checkbox" class="chk" id="meters" name="iDs" value="0" ></input>

在我的jps页面中,多个元素都有名称ID

在From类属性中,如

整数[] iDs;

此表单在会话中维护当单击UncheckAll Button时,删除所有Checked属性和值设置为0,当使用@ModelAttribute从属性iDs提交表单时,代码在上面,如[2,3,5]以前的值维持我期待[ 0]数组

单击CheckAll更新时,表格中的结果数组calss就像iDs = [1,2,3,4,5]

当UncheckAll无法解决问题时

我正在使用jquery 1.9.1 api

最后我尝试了这个,但是在类中有一个像Integer [] iDs这样的属性,所以没有绑定

2 个答案:

答案 0 :(得分:3)

您需要将input的名称更新为Ids[]

<input type="checkbox" class="chk" id="meters" name="Ids[]" value="0" ></input>

这样它将作为数组发送。

答案 1 :(得分:0)

请注意,当您取消选中某个复选框时,其值不会在http请求中发送。所以我猜你的客户端代码工作得很好。您必须彻底查看服务器端代码。 也许,this answer可能对你有所帮助。