-2

给定一个html,例如:

<ul id="timesheetList">                                              
<li>
    <table>
        <tbody>
            <tr>
                <td>
                    <input type="checkbox" class="bigcheck">
                </td>
                <td>
                    <p class="hiddenId">73</p>
                </td>
            </tr>
        </tbody>
    </table>
</li>
<li>
    <table>
        <tbody>
            <tr>
                <td>
                    <input type="checkbox" class="bigcheck">
                </td>
                <td>
                    <p class="hiddenId">44</p>
                </td>
            </tr>
        </tbody>
    </table>
</li>
    <!-- the list goes on... -->

如何为类为“bigcheck”的所有“已检查”(其状态已检查)复选框选择所有 IDS(在本例中为 44 和 73)?

谢谢

4

3 回答 3

3

你可以使用这样的东西:

var tds = $('td p.hiddenId').filter(function() {
    return $(this).parent().prev().children('input.bigcheck:checked').length != 0;
});
// tds contains the list of TDs matching your criteria
于 2012-08-31T12:35:07.723 回答
2
  1. 首先获取所有选中的复选框。你可以使用

    $("input:checkbox[name=type]:checked").each(function(){

    });

    1. 然后,您需要使用 parentNode() 到达 TD
    2. 然后,使用 nextSibling() 来立即到达下一个 TD。
    3. 然后,TD.childNodes[1].innerHTML,会给你结果

注意:如果你使用这种方法,那么你的结构应该保持不变。

于 2012-08-31T12:43:17.390 回答
1

试试这个:

var ids = [];
$("td > input.bigcheck:checked").each(function() {
    ids.push($(this).parent().next("td").children("p").text());
});
console.log(ids);

您应该等待可能为您提供完整解决方案的答案,而不是接受只是指导的东西

于 2012-08-31T12:51:44.847 回答