2
var oTable = $('#posGridView').dataTable( {
"bPaginate": false,
"bFilter": false,
"bSort": false,
"bInfo": false,
"oLanguage": {
"sZeroRecords": "",
"sEmptyTable": ""
}

} );

$("#posGridView tbody").click(function(event) {
$(oTable.fnSettings().aoData).each(function (){
$(this.nTr).removeClass('row_selected');
});
$(event.target.parentNode).addClass('row_selected');
});

上記のコードは正常に動作し、行を選択すると強調表示されます。しかし、削除ボタンを押すと、選択した行が削除されません。

$('#delete').click( function() {
var anSelected = fnGetSelected( oTable );
oTable.fnDeleteRow( anSelected[0] );
} );

alert(anSelected) を配置すると、ステートメント var anSelected = fnGetSelected( oTable ); がわかるようになります。実行していません。

4

1 に答える 1

0

考慮すべき点がいくつかあります

  • の ID で選択しています$('#delete')。これまでのところ、行ごとに削除ボタンがあるため、同じIDを持つ要素がいくつかあることを理解しています。これは許可されていません。css クラスを削除ボタンに追加 (または既存のものを使用) し、このように選択します$('#posGridView .delete')

  • 行を動的に追加する場合は、onメソッドを使用してクリック イベントをアタッチする必要があります。そうしないと、新しく追加された行にクリック ハンドラーがありません。コードは次のようになります$('#posGridView').on('click', '.delete', function(){...})

于 2012-06-05T12:59:48.470 に答える