2

当我检查多个复选框表单时,jQuery 对话框表单已更新,我使用了以下代码

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

当我单击 UncheckAll 时相同的代码未删除选中的属性我使用了下面的代码

$('.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 类属性中

整数 [] iD;

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

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

当 UncheckAll 不起作用时有什么问题

我正在使用 jquery 1.9.1 api

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

4

2 回答 2

3

You need to update your input's name to Ids[]:

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

That way it will be sent as array.

于 2013-07-10T06:16:52.697 回答
0

请记住,当您取消选中复选框时,其值不会在 http-request 中发送。所以我猜你的客户端代码工作得很好。而且您必须彻底了解您的服务器端代码。也许,这个答案可能对您有所帮助。

于 2013-07-10T08:27:57.693 回答