从ajax加载初始数据源后,Jquery数据表添加额外的行

时间:2017-10-26 12:27:57

标签: javascript jquery ajax datatables

我最初使用ajax

加载数据
function loadskills(userid){
    var skilltable=$('#skills_table').DataTable(
    {

        "ajax":{
            "url":"getskills/"+userid
        },

        "columns" : [
            { "data" : "id" },
            { "data" : "skill" }
        ],
        'columnDefs': [{
            'targets': 0,
            'searchable':false,
            'orderable':false,
            'className': 'dt-body-center text-center ',
            'render': function (data, type, full, meta){
                console.log("data : "+data);
                return '<input type="checkbox" name="id[]" value="' 
                   + $('<div/>').text(data).html() + '" checked>';
            }
        }],
        "createdRow": function(row, data, dataIndex){
           // console.log('createdRow row '+row);
            $(row).attr("id", "tblRow_" + data.id);
        },
        searching: true,
        "order": [],
        bFilter: false,
        dom: "lirpt",

    }
    );  

数据加载正常是表。但之后我想在json对象中添加几行。示例

var data = [
{
    "id":1,
    "skill":"LanTest101"

}];

并将其“附加”到已加载的数据中。 我尝试使用tablename.row.add()但我得到一个错误

skilltable.row.add(data).draw();

其中“为第0行请求了未知参数'技能”

在此处扩展对象后

"ajax":{
            "url":"getskills/"+userid,
            "dataSrc":function(data){
                //console.log("user skills "+JSON.stringify(data));
                 $.extend(data, skills);
                 //console.log("after merging "+JSON.stringify(data));
                 return $.extend(data, skills);
            }
        },

0 个答案:

没有答案