我有html:
<tr>
<td><input type="checkbox" value="3" id="userListingSelect0" cssclass="cbDelete">
</td><td>general</td>
<td><a href="editUser.aspx?userId=3">Edit</a></td>
</tr>
<tr>
<td><input type="checkbox" value="1" id="userListingSelect1" disabled="disabled" cssclass="cbDelete">
</td><td>hmladmin</td>
<td><a href="editUser.aspx?userId=1">Edit</a></td>
</tr>
我试图使用jQuery获取所有复选框。
我正在使用:
console.log(jQuery('.cbDelete').html());
但所有即时通讯都是未定义的。我怎么......
1)获取所有元素 2)通过它们迭代?
我尝试使用:
jQuery('.cbDelete').each(function () {
console.log('got here');
if (this.checked) {
selectionMade = true;
}
resultsGot = true;
});
仍然没有到达'到达这里'线,所以看起来我不能收集。不知道为什么......
答案 0 :(得分:0)
jQuery类选择器在定义class
属性时有效,但您有cssclass
。所以在你的情况下你可以尝试:
$("input[cssclass='cbDelete']");
要像往常一样迭代使用each
。
答案 1 :(得分:0)
您正在使用非标准标识符为复选框提供类。将cssclass
更改为class
,然后$('.cbDelete')
将有效; .
(点)表示“类”。
正如@Igor Dymov在他的回答中突然说的那样,使用
$("input[cssclass='cbDelete']");
工程;这会查找具有自定义属性cssclass
的任何输入,其值为cbDelete
。
就个人而言,我会使用一个类,因为它更干净,验证良好,选择器更简单(可能更快一点)。
答案 2 :(得分:0)
此行不起作用的原因是cssclass
属性
console.log(jQuery('.cbDelete').html());
将其更改为class
将使此功能正常运行。或者伊戈尔的答案。
答案 3 :(得分:0)
$("input:checkbox").each(function(){
console.log('got here');
if (this.checked) {
selectionMade = true;
}
resultsGot = true;
});
如果你只想检索指定表格中的那些复选框(假设你的表格的id是“table_a”),它将是
$("#table_a input:checkbox").each(function(){
答案 4 :(得分:0)
是的,如果cssClass刚刚更改为类它可以工作。那么你的视图不会将cssClass改为class?还是来源?如果您在源代码中使用cssClass,有些人已经给出了答案。
如果你在asp中定义它:
<asp:TextBox id="TextBox1" ForeColor="Red" CssClass="class1" />
应呈现为
<input type=text class="class1" style="ForeColor:red">