2017-04-21 2 views
0

コード全体が機能し、ブートグリッドにデータが読み込まれます。ブートグリッドの中に2行あり、チェックボックスをクリックするとIDが警告されます。 enter image description hereJqueryのブートグリッド内のすべてのチェックボックスのすべてのIDを取得するには?

もう一方のチェックボックスをオンにすると、IDがポップアップ表示されます。 私の問題は、すべてのチェックボックス(タイトル)をチェックするとどのようにIDを取得できますか?

enter image description here

私がチェックにすべてのボックスをクリックすると、それがIDに警告を発しますが、管理者であるだけで、最後の1、。どのようにすべてのチェックボックスのすべてのIDを取得できますか? ここに私のコードです。

var table = $('#user-list'); 

table.bootgrid({ 
    css  : { 
     icon  : 'zmdi icon', 
     iconColumns : 'zmdi-view-list', 
     iconDown : 'zmdi-caret-down', 
     iconRefresh : 'zmdi-refresh', 
     iconUp  : 'zmdi-caret-up', 
    }, 
    labels : { 
     noResults : noResult, 
     loading  : loadingTable, 
    }, 
    ajax   : true, 
    url   : '/users/list', 
    selection : true, 
    rowCount  : [10, -1], 
    multiSelect : true, 
    navigation : 2, 
}).on("selected.rs.jquery.bootgrid", function(e, rows) 
{ 
    alert("Selected: " + rows[0].id); 
}); 
+0

私はあなたがチェックAll]ボタンをクリックしてくださいだけではなく、彼らを取得するとき、あなたがそれらすべてをチェックすることにしたい推測しIDの。正しい? –

答えて

2

私はあなたがすでにrows配列でそれらを持っていると思います。

ので、代わりにalert("Selected: " + rows[0].id);の、あなたは次の操作を行うことができます:あなたは、カンマで区切られた文字列としてそれらを取得したい場合は

を、たとえば、あなたが行うことができます:あなたがしたい場合

var result = rows.map(function(row) { return row.id }).join(','); 

arrayとしてそれらを得るために、あなただけ行うことができます。

var result = rows.map(function(row) { return row.id }) 

あなたはES6を使用している場合、これは、よりエレガントことができます。

let result = rows.map(row => row.id).join(','); 

let result = rows.map(row => row.id); 
+0

こんにちは@ダン、チェックボックスを1つずつチェックするとどうなりますか? 2番目のチェックボックスをチェックすると、2つのIDが含まれているはずです。別のチェックボックスをチェックすると、3つのIDが表示されます。どうしたらいいですか? –

+0

すでに完了していると思います。 'rows'はすべての選択されたチェックボックスを含んでいます。 1つずつ確認する必要はありません。 –

+0

あなたのソリューションは完璧です、私はちょうど私がチェックボックスを一つずつチェックしたらどうなるか考えています。新しいチェックボックスが選択されるたびに、IDと前のIDが表示されます。 –

関連する問題