jeditable vs datitable in datatable - 有什么区别

时间:2012-08-12 14:14:48

标签: jquery mysql datatable jeditable

我很困惑哪个插件我应该使用datatable jquery。我的问题是我找不到任何解决我所有问题的答案(我现在已经遭遇了4个多小时)。对不起,如果这个问题已经无数次解决了......

我有一个来自mysql数据库的> 10000行的表,我想在特定列上添加一个单元格内联编辑,所以我找到了两个现有的方法。

  1. http://datatables.net/examples/api/editable.html
  2. http://jquery-datatables-editable.googlecode.com/svn/trunk/inline-edit.html
  3. 我的问题是有什么区别?哪一个需要哪个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秒)。

1 个答案:

答案 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插件,并实现了通用的数据管理功能。