18

私はjqueryデータテーブルを使用<tr>しており、次の構造を持つテーブル内にいくつかあります:

<tr class="odd">
     <td class="  sorting_1">0</td>
     <td class=" ">2011</td>
     <td class=" ">20</td>
     <td class=" ">
         <span class="btn-group">
            <a class="del btn btn-small" href="#"><i class="icon-delete"></i></a>       
         </span>
     </td>
</tr>

クリックしたボタンに関連付けられた行を削除するために、次の jquery コードを作成しました。

$(".del").bind("click", function(event){
        var target_row = $(this).parent().parent().parent();
        var aPos = oTable.fnGetPosition(target_row); // the error occurs here!
        oTable.fnDeleteRow(aPos);
          });

しかし、次のようなエラーが発生します。

"TypeError: a.nodeName is undefined"jquery min スクリプト ファイル内。

編集:

データテーブルを作成するコードは次のとおりです。

if( $.fn.dataTable ) {
            $(".mws-datatable").dataTable();
            var oTable = $(".mws-datatable-fn").dataTable({
                bRetrieve: true,
            sPaginationType: "full_numbers"
            });
        }
4

2 に答える 2

54

このコードを使用して問題を解決しました:

$(".del").bind( "click", function(event) {
    var target_row = $(this).closest("tr").get(0); // this line did the trick
    var aPos = oTable.fnGetPosition(target_row); 

    oTable.fnDeleteRow(aPos);
});
于 2013-07-06T16:34:48.133 に答える