2017-11-23 5 views
1

DataTableの最初の列から、選択したすべての行の値を取得します。したがって、DataTableの開発者は、次のように示唆しています。DataTables - 選択したすべての行から1つの列の値を取得します。

function getValues() { 
    let rows = table.rows({ selected: true }); 
    return table.cells(rows, 0).data(); 
} 

これは、1つの行が選択されているとうまく動作します。ただし、複数の行が選択されている場合、返されるオブジェクトは空です。

これを解決する方法はありますか?

+0

jsfiddleか何かを提供してください。 – MUT

答えて

2

を試すには、cell-selectorのドキュメントを見てください。 APIの結果セットよりもほとんど何かを渡すことができます。たとえば、あなたのrows結果セットのためのnodes()を渡す:

return table.cells(rows.nodes(), 0).data(); 

http://jsfiddle.net/sozqjbLc/

+0

これは完全に機能します。ありがとうございました! –

2

function getValues(){ 
    var ids = $.map(table.rows('.selected').data(), function (item) { 
    return item[0] 
    }); 
    return ids 
} 
+0

はい、私は(でも、それを試していない)も、希望の結果を達成するための多くの方法があると思う、データテーブルは、すべて()、filter()、flatten()のようなヘルパーメソッドを持っています。 – davidkonrad

関連する問題