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 に答える