2017-04-21 139 views
0

整個代碼工作並且bootgrid由數據填充。我在Bootgrid中有2行,當我點擊複選框時,它會提醒ID。 enter image description here如何獲取Jquery bootgrid中所有選中複選框的ID?

如果我對另一個複選框進行檢查,它也彈出了id。 我的問題是,如果我檢查所有複選框(TITLE),如何獲得所有ID?

enter image description here

一旦我點擊檢查所有複選框,它提醒了ID,但是隻有最後一個,這就是管理。我怎樣才能得到所有複選框的所有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

我猜你想他們都當你點擊檢查中檢查所有的按鈕,而不是僅僅讓他們的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

嗨@丹,如果我一個一個選中複選框會怎麼樣?如果我檢查第二個複選框,它應該包含2個ID。如果我選中另一個複選框,它將包含3個ID。我該怎麼做? –

+0

我認爲它已經完成。 'rows'包含所有選中的複選框。你不需要逐一檢查它們。 –

+0

你的解決方案是完美的,我只是想,如果我一個一個地檢查複選框。每次選擇新的複選框時,該ID都會顯示+上一個ID。 –

相關問題