3

这是我的问题,我有一个用 Javascript 动态创建的表,结果我有这样的东西:

<table>
<tbody id="bodyDepartment">
            <tr><td class="Depa" style="width:30px;" align="center"><input id="Depa" name="Depa" type="checkbox" value="1" style="width:30px;"/> </td>
                <td>value 1.1</td>
                <td>value 1.2</td>
                <td>value 1.3</td>
            </tr>
            <tr><td class="Depa" style="width:30px;" align="center"><input id="Depa" name="Depa" type="checkbox" value="1" style="width:30px;"/> </td>
                <td>value 2.1</td>
                <td>value 2.2</td>
                <td>value 2.3</td>
            </tr>
</tbody>
</table>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

我想要的是从所有选定的行中获取所有元素,我试图使用这段代码来获取带有 Javascript 的元素:

function Click(){
if ($("input:checkbox[name='Depa']:checked")) {
    var id, num, piso
    $("input:checkbox[name='Depa']:checked").parents("tr").each(function (index) {
      $("input:checkbox[name='Depa']:checked").parents("tr").children("td").each(function (index2) {
        switch (index2) {
        case 1:
            id = $(this).text();
            alert(id);
            break;
        case 2:
            num= $(this).text();
            alert(num);
            break;
        case 3:
            piso = $(this).text();
            alert(piso);
            break;

         }
      })
    })
}

​ }​</p>

但我只能得到“n”次选择的最后一个元素,其中“n”是选择的元素的数量,有人可以告诉我出了什么问题以及如何解决它。

这是我的问题的演示:http: //jsfiddle.net/ZPxqJ/180/

4

2 回答 2

1

尝试:

function getDetails(){
    var checkboxes = $("input:checkbox[name='Depa']:checked");
    $(checkboxes).each(function(){
        var arr = $(this).closest('tr').find('td:not(.Depa)');
        $(arr).each(function(){
            console.log(this.innerHTML);
        });
    });
}
于 2012-12-09T01:40:41.107 回答
0

试试这个,

$("#RegBtnReg").click(Click);

function Click() {
    var id, num, piso
    $("input:checkbox[name='Depa']:checked").parents("tr").each(function(index) {

        $(this).children("td").each(function(index2) {
            switch (index2) {
            case 1:
                id = $(this).text();
                alert(id);
                break;
            case 2:
                num = $(this).text();
                alert(num);
                break;
            case 3:
                piso = $(this).text();
                alert(piso);
                break;

            }
        })
    })
}​

演示:http: //jsfiddle.net/ZPxqJ/181/

于 2012-12-09T01:32:44.437 回答