2017-04-19 41 views
1

Bootstrap-Tableテーブルのセルをクリックしてその行の特定の列(Date列)の値を取得したいとします。ブートストラップテーブルにクリックしたときにセルの値を取得する

このコードは、行の値インデックスを取得しますが、データはJSONの配列です。私はarrayが本質的に順序付けられていないと考えているので、インデックスが役立つとは思わない。このインデックスを使用して値を取得する方法はありますか?

$("#table").on("click", "tr", function (row, $el, field) { 
    var row = $(this).index(); 
    alert(row); 
    }); 

データ:私はあなたを思って、私が誤解している場合、私はあなたが何かをすることができると思い

var data = [ 
    { 
     "Date": "2015-02-03", 
     "Contact": 1 
    }, 
    { 
     "Date": "2017-01-22", 
     "Contact": 2 

    } 
]; 

http://jsfiddle.net/gv2mnwd9/

答えて

1

データ属性で[日付]セルを選択できます。

$("#table").on("click", "tr", function (row, $el, field) { 
    var date = $(this).find("a[data-name='Date']").html(); 
}); 

それとも

$("#table").on("click", "tr", function (row, $el, field) { 
    var date = $(this).find("a[data-name='Date']").data('value'); 
}); 
+0

ありがとう、 '[data-name = 'Date']'を取り除くと正しい結果が得られます。それは実際に何をしていますか?列名を取得する方法はありますか? – user2242044

0

コメント>>謝罪後

answer = table.row(0).data().Date; 
answer = table.row(0).data().Contact; 

更新を次のカラムの価値を欲しがって、私はあなたのニーズに応えるために以下を期待しています。

   $("#table").on("click", "tr", function (row, $el, field) { 

        tr = $(this).closest('tr'); 
        row = table.row(tr); 
        answer = table.row(row).data().Contact; 
        alert(answer); 
       }); 
+0

これをアラートに追加しても結果は生成されません。何かご意見は? – user2242044

+0

こんにちは、私は私の答えを更新しました。 –

0

あなたは、TDの代わりに、TR

、ここ

var col = $(this)[0].textContent; 

に従って値を取得するためにイベントを添付することができますjsfiddle

ですhttp://jsfiddle.net/gv2mnwd9/1/

関連する問題