在数据表中,我为行设置了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"> </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>
我在做什么错了?
答案 0 :(得分:2)
您正在DOM中的元素上设置ID,但是.ids()
方法不应返回这些ID。
https://datatables.net/reference/api/rows().ids()
重要:此方法不读取tr元素的DOM ID,而是从行的数据源(由rowId指定的位置)获取行ID。
您将需要在数据源中预先提供ID,以便可以通过rowId
选项进行匹配,以获取数据表认为的“行ID”。