Javascript 如何使用js数组作为数据源动态更新jquery数据表

Javascript 如何使用js数组作为数据源动态更新jquery数据表,javascript,jquery,datatables,jquery-datatables,datatables-1.10,Javascript,Jquery,Datatables,Jquery Datatables,Datatables 1.10,如何使用js数组作为数据源动态更新jquery数据表。 当用户点击更新按钮时,一个新的js数组应该被添加到当前数据源中,它应该反映在jquery datatable上 <html> <head> <link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.6/css/jquery.dataTables.css"> </head&

如何使用js数组作为数据源动态更新jquery数据表。 当用户点击更新按钮时,一个新的js数组应该被添加到当前数据源中,它应该反映在jquery datatable上

<html>
    <head>       
        <link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.6/css/jquery.dataTables.css">
    </head>
    <body>
        <div id="demo"></div>
        <button id="update">Update</button>  

    <script type="text/javascript" src="//code.jquery.com/jquery-1.11.1.min.js"></script>
    <script type="text/javascript" src="//cdn.datatables.net/1.10.6/js/jquery.dataTables.min.js"></script>
    <script type="text/javascript">

    var dataSet = [
        ['Trident','Internet Explorer 4.0','Win 95+','4','X'],
        ['Trident','Internet Explorer 5.0','Win 95+','5','C'],
        ['Trident','Internet Explorer 5.5','Win 95+','5.5','A'],    
    ];

    var ctr = 0;
    $("#update").click(function() {        
        ctr++;
        dataSet.push([ctr,ctr,ctr,ctr,ctr]);
        console.log(JSON.stringify(dataSet));
    });

$(document).ready(function() {
    $('#demo').html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>' );
     $('#example').dataTable( {
        "data": dataSet,
        "columns": [
            { "title": "Engine" },
            { "title": "Browser" },
            { "title": "Platform" },
            { "title": "Version", "class": "center" },
            { "title": "Grade", "class": "center" }
        ]
    });   
});

    </script>        
    </body>
</html>

更新
变量数据集=[
['Trident'、'InternetExplorer4.0'、'Win95+'、'4'、'X'],
['Trident'、'InternetExplorer5.0'、'Win95+'、'5'、'C'],
['Trident'、'InternetExplorer5.5'、'Win95+'、'5.5'、'A'],
];
var-ctr=0;
$(“#更新”)。单击(函数(){
ctr++;
push([ctr,ctr,ctr,ctr,ctr]);
log(JSON.stringify(dataSet));
});
$(文档).ready(函数(){
$('#demo').html('');
$('#示例')。数据表({
“数据”:数据集,
“栏目”:[
{“标题”:“引擎”},
{“标题”:“浏览器”},
{“标题”:“平台”},
{“标题”:“版本”,“类别”:“中心”},
{“标题”:“等级”,“等级”:“中心”}
]
});   
});

我建议使用诸如
row.add()
draw()
之类的DataTables API方法来更新数据,而不是操作初始数据数组。如果初始化后需要数据,可以使用
data()
方法访问数据


这可能会对您有所帮助。

将数据表保存在全局js变量中-
dataTable
。一旦更改了数据集,只需销毁数据表并再次初始化

if(dataTable != null)
    dataTable.destroy();

dataTable = $('#example').dataTable( {
    "data": dataSet,
    "columns": [
        { "title": "Engine" },
        { "title": "Browser" },
        { "title": "Platform" },
        { "title": "Version", "class": "center" },
        { "title": "Grade", "class": "center" }
    ]
    });
如果表是用
dataTable()
初始化的,则没有
destroy()
方法,在这种情况下,它应该是
api().destroy()