我很困惑哪个插件我应该使用datatable jquery。我的问题是我找不到任何解决我所有问题的答案(我现在已经遭遇了4个多小时)。对不起,如果这个问题已经无数次解决了......
我有一个来自mysql数据库的> 10000行的表,我想在特定列上添加一个单元格内联编辑,所以我找到了两个现有的方法。
我的问题是有什么区别?哪一个需要哪个js脚本作为输入(我感到困惑并在最后添加了所有这些脚本)... 我觉得有些已经过时,并且不再适用于最新版本。或者也许我正在将它们混合在一起,所以最后没有任何作用。
Jeditable(它不起作用。当我点击表格中的任何单元格时,没有任何反应)
$("#example.", oTable.fnGetNodes()).editable( 'php/editable_ajax.php', {
"callback": function( sValue, y ) {
var aPos = oTable.fnGetPosition( this );
oTable.fnUpdate( sValue, aPos[0], aPos[1] );
},
"submitdata": function ( value, settings ) {
return {
"row_id": this.parentNode.getAttribute('id'),
"column": oTable.fnGetPosition( this )[2]
};
},
"height": "14px"
});
可编辑(当我点击,编辑事件有效,但是数据库中的值没有更新,除非editable_ajax.php包含完整的mysql查询,但是页面没有重新加载)
$('#example').dataTable().makeEditable({
sUpdateURL: "php/editable_ajax.php",
"aoColumns": [
null,
{
indicator: 'Saving CSS Grade...',
tooltip: 'Click to select CSS Grade',
loadtext: 'loading...',
type: 'select',
onblur: 'submit',
data: "{'':'Please select...', '1':'Yes','0':'No'}"
}
]
});
PHP服务器端
<?php
echo $_POST['value'].' (server updated)';
?>
最后一个问题,是否有其中一个处理更多有效数据表的行? (加载它需要30秒)。
答案 0 :(得分:2)
以下先决条件设置说明告诉我,您确实需要jeditable和dataTable来使dataTables.editable工作。 jquery-datatables-editable
<script src="/Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.DataTables.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.jeditable.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.js" type="text/javascript"></script>
<script src="/Scripts/jquery.DataTables.editable.js" type="text/javascript"></script>
通过消除过程,我们可以假设您可以将jeditable仅用于dataTables。查看source of this example,您可以看到只使用了dataTables和jEditable。
我不太确定这些差异,但我相信dataTables.editable为可编辑和dataTable(和jValidate)之间的一些常见功能提供了一个接口,使其更容易实现。
这个插件集成了几个插件,如JQuery DataTables,JQuery Editable,JQuery Validation插件,并实现了通用的数据管理功能。