DataTable()。ajax.reload()不重新加载表

时间:2015-06-08 14:59:07

标签: jquery ajax datatables

我通过使用jQuery append函数将行填充到表体中这很好用,但是当我尝试从表中搜索任何数据时,表就会被清除。

这是我的代码。

for (i = 0; i < mapping.length; i++) {
    var tr = $('<tr>' + '<td>' + ' <input type="checkbox" '
            + ' onchange="selectItem(this);" '
            + (mapping[i]['selected'] == true ? "checked" : "")
            + ' data-el_id="' + mapping[i]['id'] + '">'
            + ' </td>' + ' <td>' + mapping[i]['name'] + ' </td>'
            + ' <td>' + mapping[i]['itemName'] + ' </td>' + ' <td>'
            + mapping[i]['url'] + ' </td>' + ' </tr>');
    $("#tableBody").append(tr);
}

2 个答案:

答案 0 :(得分:1)

您需要浏览dataTables API才能插入行。我猜你的数据项看起来像这样:

numDocs()

然后,如果你像这样初始化你的表:

maxDocs

您可以在循环中插入所有行:

{
    "selected": true,
    "id": 42,
    "name": "test",
    "itemName": "item"
}

小型演示 - &gt;的 http://jsfiddle.net/fu0r4oba/

答案 1 :(得分:0)

您应该使用DataTable.row.add()。 示例:

$yourDataTables.row.add([
counter + '.1',
counter + '.2',
counter + '.3',
counter + '.4',
counter + '.5']).draw();