クリックされた行の1列目と4列目を返す関数をjquerydatatableに実装しようとしています
私はこの例に従っています。これにより、クリックされた行を操作できます http://datatables.net/examples/api/select_single_row.html
このハンドラーを変更してセル値の読み取り手順を実行し、独自のロジックで値を使用できると考えています
/* Add a click handler to the rows - this could be used as a callback */
$("#example tbody").click(function(event) {
$(oTable.fnSettings().aoData).each(function (){
$(this.nTr).removeClass('row_selected');
});
$(event.target.parentNode).addClass('row_selected');
});
dataTableフォーラムからこの小さなコードセグメントも入手しました http://datatables.net/forums/comments.php?DiscussionID=1384&page=1#Item_
$('#example tbody tr').click( function () {
// Alert the contents of an element in a SPAN in the first TD
alert( $('td:eq(0) span', this).html() );
} );
クリックしたフィールドの1列目と4列目を取得できるようにポインタを設定できますか?
次の部分上記を解決しました、ありがとうニック
しかし、私は問題の次の部分を持っています。私が使用するテーブルを初期化するとき
/* Init the table */
oTable = $('#filetable').dataTable( {
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "/crvWeb/jsonFileList.do",
"fnServerData": function ( sSource, aoData, fnCallback ) {
$.ajax( {
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
} );
}
} );
私のサーブレットはdirリクエストパラメータを受け取り、リストをjsonレスポンスとしてデータテーブルに返します。
/crvWeb/jsonFileList.do
テーブルを更新できるように、POSTリクエストでserlvet応答を追加して取得するにはどうすればよいですか?
ここでは、次のように .delegate()
を使用するのが最も簡単です。
_$("#example tbody").delegate("tr", "click", function() {
var firstCellText = $("td:first", this).text();
var fourthCellText = $("td:eq(3)", this).text();
});
_
.delegate()
this
は_<tr>
_を参照します。これは、処理しているクリックであるため、処理がかなりクリーンになります。 _<tbody>
_ごとに1つではなく、_<tr>
_レベルで1つのイベントハンドラー。
私があなたのコードを正しく読んでいるなら、これはトリックをするはずです:
$("tr.row_selected td:nth-child(1), tr.row_selected td:nth-child(4)");
クラスrow_selected
を持つすべてのtr要素の最初と4番目の子を返す必要があります。