我的表中有复选框。复选框的CSS是GridCheckBox,我想将复选框工具提示读入一个数组,分开。
我正在使用此功能。但这没有得到检查项目。但正确获取未经检查的项目。
这很好用
var titles = [];
$('#ListGrid .GridCheckBox').each(function() {
if ($(this).attr('title')) {
titles.push($(this).attr('title'));
}
});
这不起作用(已检查项目)
var titles = [];
$('#ListGrid .GridCheckBox:checked').each(function() {
if ($(this).attr('title')) {
titles.push($(this).attr('title'));
}
});
答案 0 :(得分:1)
另一种方法是在这个例子中使用jQuery $ .map()我按名称获取所有选择框。例如:
var titles = $.map($("input[name='name_of_checkboxes']:checked"),function(a){return a.title;});
Shuld返回一个包含所选 - 选择框标题的数组。
修改强>
要获得没有选择的选择框,您可以使用此
var not_selected = $.map($("input[name='name_of_checkboxes']:not(:checked)"),function(a){return a.title;});
<强> HTML:强>
<input type="checkbox" name="name_of_checkboxes" checked="checked" title="1" />
<input type="checkbox" name="name_of_checkboxes" title="2" />
<input type="checkbox" name="name_of_checkboxes" checked="checked" title="3" />
<input type="checkbox" name="name_of_checkboxes" title="4"/>
超过
答案 1 :(得分:0)
要尝试消除任何错误,并为了提高性能,请尝试以下方法:
$('#ListGrid .GridCheckBox').filter(':checked').each( ..
因为:checked
is a jQuery extension它的效果不如匹配对象的本地浏览器方法。
答案 2 :(得分:0)
因为它不起作用。您申请的“.GridCheckBox”类在父“span”上,而不是“checkbox input”本身!
你可以这样做:
$('#ListGrid .GridCheckBox').each(function() {
var target = $(this);
if (target.find("input:checkbox").is(":checked")) {
titles.push(target.attr('title'));
}});
假设一个span.GridCheckBox只包含一个复选框输入。