如何选择复选框集合?

时间:2011-08-04 11:15:31

标签: javascript jquery

我有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;

    });

仍然没有到达'到达这里'线,所以看起来我不能收集。不知道为什么......

5 个答案:

答案 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">

http://jsfiddle.net/SdHuK/