循环遍历表并使用Jquery选中一个复选框

时间:2012-07-31 15:26:12

标签: jquery html-table

我有一个HTML表格,其中第一列是复选框,我在表格上方有一个超级链接,如果他们点击这个就“全部检查”我需要循环遍历表格中的每一行并选中分配给的复选框该行,该表是在页面加载“Databind”上构建的。

到目前为止,这是我的jQuery,我将其称为“全部检查”链接:

$('#HypSelectAll').click(function() {
    var count = $('#gvPerformanceResult>tbody>tr').length; //Count the amount of rows in the HTML table
    for (i = 0; i < count; i++) {

    }
});​

我现在不确定如何引用gvPerformanceResult列....找到名为“chkExportToExcel”的复选框,此表可能有1-25行。有人可以帮助我给出一个起点吗?

2 个答案:

答案 0 :(得分:5)

无需手动执行循环。让jQuery做它的事情:

$('#HypSelectAll').click(function () {
    $('#gvPerformanceResult')
       .find('input[type="checkbox"]')
       .prop('checked', true);
});

如果整个表格中还有其他复选框,并且确实必须具体,请尝试以下操作:

$('#HypSelectAll').click(function () {
    $('#gvPerformanceResult')
        .find('> tbody > tr > td:first-child > input[type="checkbox"]')
        .prop('checked', true);
});

但我真的不能想到一个可以保证这样的事情。如果你不得不诉诸于此,你可能在HTML结构中遇到了一些更深层次的问题。

答案 1 :(得分:1)

您不需要像这样循环,只需告诉jQuery找到表格内的复选框并将其标记为已选中(假设表格中的唯一复选框是您想要包含在“全选”中的复选框)。

$('#HypSelectAll').click(function () {
        $("#gvPerformanceResult").find("input[type=checkbox]").prop("checked", true);
});