datatables rows()。ids()返回未定义

时间:2019-04-10 08:48:32

标签: javascript datatables

在数据表中,我为行设置了ID属性:

'createdRow': function (row, data, dataIndex) {
    $(row).attr('id', data.json.unid);
}

在按钮下,我要获取ID:

action: function () {
    var count = table
        .rows({
            selected: true
        })
        .ids();
    alert("id:s" + count)
    for (i = 0; i < count.length; i++) {
        alert("id:" + count[i])
    }
    rpcService
        .setIds(count
            .toArray());
}

在警报中,我得到ID为“ undefined”。

这是一行的样子:

<tr id="FF97C3CFC0F5FA76C12583D1003EA028" role="row" class="odd selected">
    <td class=" select-checkbox">&nbsp;&nbsp;&nbsp;</td>
    <td><a href="0/FF97C3CFC0F5FA76C12583D1003EA028?OpenDocument">Anne Weinstein</a></td>
    <td>ORP B</td>
    <td><a href="0/FF97C3CFC0F5FA76C12583D1003EA028?OpenDocument">Anne Weinstein</a></td>
    <td>s41660</td>
</tr>

我在做什么错了?

1 个答案:

答案 0 :(得分:2)

您正在DOM中的元素上设置ID,但是.ids()方法不应返回这些ID。

https://datatables.net/reference/api/rows().ids()

  

重要:此方法不读取tr元素的DOM ID,而是从行的数据源(由rowId指定的位置)获取行ID。

您将需要在数据源中预先提供ID,以便可以通过rowId选项进行匹配,以获取数据表认为的“行ID”。