jQuery DataTable - 添加新行有效,但无法使其可编辑(可编辑)

Posted

技术标签:

【中文标题】jQuery DataTable - 添加新行有效,但无法使其可编辑(可编辑)【英文标题】:jQuery DataTable - Add new row works, but not able to make it editable (jeditable) 【发布时间】:2011-07-05 09:53:24 【问题描述】:

我有一个 php 页面,我使用 DataTable(jQuery) 插件来显示数据库中的所有数据。

在这里,我想给用户添加新行的选项,即用户输入数据的新记录。我按照以下示例进行操作:

http://www.datatables.net/examples/api/add_row.html

并且能够创建一个新行。

但我完全不确定如何为正在生成的对象添加“id”属性,而且我不确定如何使其可编辑。

到目前为止,所有其他字段都可以使用 jeditable 进行编辑。 代码如下:

            $(document).ready(function() 
            /* Init DataTables */
            var oTable = $('#example').dataTable(
            "iDisplayLength": 5,
            //"bRetrieve": true,
            "aLengthMenu": [[5, 10, 15, -1], [5, 10, 15, "All"]]
            
            );


            /* Apply the jEditable handlers to the table */
            $('td', oTable.fnGetNodes()).editable( 'expenseFieldsUpdater.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],
                        "form_id": document.getElementById('formID').value
                    ;
                ,
                "height": "14px"
             );
         );

        var giCount = 1;
        function fnClickAddRow() 
            $('#example').dataTable().fnAddData( [
                ".1",
                giCount+".2",
                giCount+".3",
                giCount+".4",
                giCount+".5" ] );
                    giCount++;
        

但是,我完全不确定如何让它可编辑。 任何指针都会非常有帮助。

我在数据表网站上找到了以下帖子,但无法理解如何让它们工作:http://datatables.net/forums/comments.php?DiscussionID=181

【问题讨论】:

【参考方案1】:

您可以在http://code.google.com/p/jquery-datatables-editable/ 上找到可以帮助您的插件。此插件增强了标准 JQuery DataTables 插件并处理添加、删除和编辑操作。 您可以在那里下载 HTML 示例。

【讨论】:

【参考方案2】:

我通常发现我需要在添加或编辑行后重新运行装饰表格行的 $(document).ready 事件。因此,您可能应该将调用重构为:

$('td', oTable.fnGetNodes()).editable()

到一个单独的方法中,您可以从 $(document).ready 和 fnClickAddRow() 调用该方法。

【讨论】:

以上是关于jQuery DataTable - 添加新行有效,但无法使其可编辑(可编辑)的主要内容,如果未能解决你的问题,请参考以下文章

使用 jquery Datatable 插入新行时禁用/防止搜索回调

向 p:datatable 添加新行,然后提交内容

在调用 DataAdapter Fill() 方法后,判断新行是不是添加到 DataTable 的正确方法是啥?

将新行添加到数据表的顶部

jquery Datatable 无效 JSON 响应 1 ,数据被检查为有效 json

DataTable添加行和列