如何在Jquery bootgrid中获取所有已选中复选框的ID?

时间:2017-04-21 11:09:08

标签: javascript jquery html checkbox

整个代码工作,bootgrid由数据填充。我在bootgrid中有2行,当我单击该复选框时,它会提醒ID。    enter image description here

如果我勾选另一个复选框,它也会弹出ID。 我的问题是,如果我选中所有复选框(TITLE),我如何获得所有ID?

enter image description here

点击全部选中框后,它会提醒一个ID,但只提醒最后一个,即Admin。如何获取所有复选框的所有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);
}); 

1 个答案:

答案 0 :(得分: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);