メッセージのリストを表示するために DataTables を使用しています。
クエリ文字列でページに渡される ID に基づいて、特定のデータ行を取得する方法が必要です。
元。www.webpage.com?id=2
私はすでにjQuery変数にIDを持っています。次に、その ID に関連付けられた DataTable 行にアクセスする必要があります。
基本的に、クリックせずに行を参照する必要があります。
助言がありますか?
メッセージのリストを表示するために DataTables を使用しています。
クエリ文字列でページに渡される ID に基づいて、特定のデータ行を取得する方法が必要です。
元。www.webpage.com?id=2
私はすでにjQuery変数にIDを持っています。次に、その ID に関連付けられた DataTable 行にアクセスする必要があります。
基本的に、クリックせずに行を参照する必要があります。
助言がありますか?
1つの方法はfnGetPosition
、fnGetData
var rowIndex = table.fnGetPosition( $("some selector").closest('tr')[0] );
//some selector = should select some hidden element inside a row that
//contains the relevant id
var aData = table.fnGetData( rowIndex );
alert(aData[0]);// will show first column data
ここでは 、特定の ID を持つ行を選択する外部ボタンのjsfiddle の例を示します
ページの読み込み時に特定の ID を持つ行を選択する別の例 (ready) jsfiddle の例 N#2
関数を見てみましょう
$("#wow").click(function() {
var rowIndex = table.fnGetPosition($("#example input[value=\'TridentVal\']").closest('tr')[0]);
alert(rowIndex);
var aData = table.fnGetData(rowIndex);
alert(aData[0]); // will show first column data
});
これは、関連するデータを含む入力を選択する方法です... :
$("#example input[value=\'TridentVal\']")
example
はテーブル id です。TridentValを必要な IDに置き換えます
まず、jQuery を使用してテーブルの行を取得する必要があります。
var $rowNode = $('#myTable').find('tbody tr:eq(0)').get(0);
次にfnGetData
、行データを取得するために使用します。
var data = table.fnGetData($rowNode);
fnGetData
行ノードまたは整数を受け入れるため、行インデックスもパラメーターとして渡すことができます。
TableTools 拡張機能を使用する場合は、fnSelect() を使用できます。ドキュメントから:
$(document).ready( function () {
$('#example1').dataTable( {
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"sRowSelect": "single"
}
} );
// Select the first row in the table automatically
var oTT = TableTools.fnGetInstance( 'example1' );
oTT.fnSelect( $('#example tbody tr')[0] );
});
もちろん、ID を持つ行を選択するようにセレクターを変更する必要があります。