4

メッセージのリストを表示するために DataTables を使用しています。

クエリ文字列でページに渡される ID に基づいて、特定のデータ行を取得する方法が必要です。

元。www.webpage.com?id=2

私はすでにjQuery変数にIDを持っています。次に、その ID に関連付けられた DataTable 行にアクセスする必要があります。

基本的に、クリックせずに行を参照する必要があります。

助言がありますか?

4

4 に答える 4

8

1つの方法はfnGetPositionfnGetData

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に置き換えます

于 2012-12-11T19:02:03.420 に答える
3

まず、jQuery を使用してテーブルの行を取得する必要があります。

var $rowNode = $('#myTable').find('tbody tr:eq(0)').get(0);

次にfnGetData、行データを取得するために使用します。

var data = table.fnGetData($rowNode);

fnGetData行ノードまたは整数を受け入れるため、行インデックスもパラメーターとして渡すことができます。

デモ

于 2012-12-11T19:02:54.950 に答える
1

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 を持つ行を選択するようにセレクターを変更する必要があります。

于 2012-12-11T19:43:10.350 に答える