1

我在页面上有一个高级搜索表单,还有一个“清除”按钮可以重置表单。随着表单被清除,我正在使用此代码取消选中表单的复选框输入:

$('form#advanced_search :input[type=checkbox]').each(function() { this.checked = false; });

问题是,此代码重置页面上的所有复选框(在 Chrome 和 FireFox 中测试),而不仅仅是 form#advanced_search 中的复选框。

使用此选择器方法也会出现同样的问题:

$('form#advanced_search input:checkbox').each(function() { this.checked = false; });

我在某处读到 jQuery 在复选框和收音机方面存在一些错误问题,但有人知道一种方法或解决方法吗?

4

3 回答 3

3

您没有使用正确的选择器来获取所需的复选框。尝试这个:

$("#advanced_search input[type='checkbox']").prop("checked", false);

小提琴:http: //jsfiddle.net/R3Rx2/

于 2013-05-15T21:36:41.527 回答
1

选择器不正确:尝试使用:

$('form#advanced_search input[type=checkbox]').each(function() { this.checked = false; });
于 2013-05-15T21:38:35.800 回答
0

看起来这是一个特定于我的案例的数据表问题。所以我必须更深入地解决这个问题。常规选择器方法似乎适用于我页面上的非自动生成的复选框。

一旦我找到错误,我会在这里更新。

感谢大家!

于 2013-05-15T23:14:35.340 回答