2017-04-21 108 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。 –

相关问题