在集合上查找属性

时间:2014-09-19 15:05:33

标签: jquery

我有一组复选框输入,我正在检查是否有任何选项:

var qualificationTypes = $('input[id ^=QualificationTypes_][id $=__IsSelected]');

var checked = false;

qualificationTypes.each(function () {
    if ($(this).attr('checked')) {
        checked = true;
    }
});

我的解决方案有效,但......

是否有一种更紧凑的方式(一个班轮)来完成each(),特别是因为我只对至少一个复选框进行检查感兴趣?

4 个答案:

答案 0 :(得分:4)

是的:

var checked = qualificationTypes.is(':checked');

如果选中1复选框,则返回true。



alert($('input').is(':checked'));

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" checked="checked" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以过滤已检查项目的集合。

var checked = qualificationTypes.filter(':checked');

if (checked.length > 0) {
    // We have checked / selected fields
}

答案 2 :(得分:1)

只需使用:checked this selector

if ($('input[id ^=QualificationTypes_][id $=__IsSelected]:checked').length > 0) {

}

答案 3 :(得分:1)

我不确定它是否有效,因为我没有你的HTML,但这是一个尝试:

var checked = ($('input[id ^=QualificationTypes_][id $=__IsSelected]:checked').length > 0);

尝试一下,如果有任何更改,请告诉我