使用服务器调用我的Web应用程序的用户正在创建一个json对象d。该对象包含许多键(考虑" Mean"," Stdev"等)。用户正在更改网页上的基础时间序列。
<script type="text/javascript">
function myFunction(d) {
$('#myid').html(d["Mean"])
}
</script>
执行jquery $ .POST,如果成功则返回json对象并调用上面的方法。 上述方案已经有效。此更新
<div class="container-fluid">
<div class="row-fluid">
<div id="myid">some value</div>
</div>
</div>
但是,我真的想更新一个完整的数据表(如http://datatables.net/examples/advanced_init/中的数据表)。
在运行时我不知道d中的键是什么。 datatables.js是否是表中动态数据的正确工具?
答案 0 :(得分:0)
是的,这就是dataTables.js的用途。
虽然目前尚不清楚您对datatable
,table
和dataTable
的具体含义。
dataTable.js负责显示(呈现)页面上的结构,具有许多功能(如排序,搜索,过滤,分页,编辑等),否则很难实现。它不是一种可以帮助您在数据库的表(或数据表)中维护字段的工具。 (但它可以)
dataTable.js使用服务器端代码和一些巧妙的帮助函数来帮助您通过PHP使用mySql数据库。但它不依赖于这个例子。您可以使用任何服务器代码和任何数据库,只要它理解从dataTables.js发送的查询并重新生成dataTables.js期望的json数据。
对于复杂(DB)表操作,您需要编写自己的服务器端代码。
关于你的问题,我想你应该看一下dataTables.js附带的服务器示例。
要在实际页面上获取单元格或行值的单个值,用户会看到您应该查看列呈现示例。
不要将此视为答案,只是为了评论而冗长。请准备好使用dataTables.js与您问题的工作代码不同。
答案 1 :(得分:0)
这是代码的一个片段。它现在实际上有效。但是,我发现这个概念(删除内容并逐行添加)超级狡猾:
<div class="col-md-3">
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th></th>
<th>Value</th>
</tr>
</thead>
</table>
</div>
<script type=text/javascript>
$SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
$TABLE = $('#example').DataTable({
"info": false,
"bPaginate": false,
"paging": false,
"bScrollCollapse": false,
"search": false,
"sort": false,
"filter": false}
);
</script>
<script type="text/javascript">
function myFunction(d)
{
console.log("Refill table");
console.log(d);
$TABLE.clear();
for (var key in d) {
$TABLE.row.add([key, d[key]]);
}
$TABLE.draw();
}
</script>
请注意,我没有包含用于计算d的代码(在服务器上使用$ .ajax POST调用完成。