我已经从同样问题的人那里阅读了很多关于SO的帖子,到目前为止我尝试的所有内容都没有用。
我有这样的HTML:
<ul>
<li class="templateList">
<input id="ctl00_MainContent_newCollection_wzd_lstSiteTypes_ctr10_chkSite" type="checkbox" checked="checked" name="ctl00$MainContent$newCollection$wzd$SiteTypes$ctrl0$chkSite">
<div></div>
</li>
<li>
...
</li>
</ul>
使用jQuery我需要找到UL中检查过的所有复选框,然后将CSS类添加到名为“selected”的LI父元素中。这就是我到目前为止所做的:
$(".templateList input:checkbox").each(function () {
var chk = $(this);
alert($(chk).attr("checked"));
if (chk.attr("checked")) {
... do something ...
}
});
警报声明用于调试 - 它总是说“未定义”。
这很简单,但让我疯了!
答案 0 :(得分:2)
只需使用this
$(".templateList input:checkbox").each(function () {
if (this.checked) {
... do something ...
}
});
答案 1 :(得分:1)
使用is()检查匹配的元素是否满足给定的选择器和:checked选择器,以检查是否选中了复选框。
$(".templateList input:checkbox").each(function () {
var chk = $(this);
if (chk.is("checked")) {
... do something ...
}
});
答案 2 :(得分:1)
使用带有“:checked”的is()函数,如下所示:
$(chk).is(':checked');
答案 3 :(得分:0)
使用.prop()
:
$(".templateList input:checkbox").each(function () {
var chk = $(this);
alert($(chk).prop("checked"));
if (chk.prop("checked")) {
... do something ...
}
});
或简写:
$(".templateList input:checkbox").each(function () {
var chk = $(this);
if (chk.is(":checked")) {
... do something ...
}
});
答案 4 :(得分:0)
$(".templateList input:checkbox:checked").each(function(){...})
答案 5 :(得分:0)
'输入:复选框[已选中]'怎么样?它会返回你需要的东西......