javascript - datatables-editable 插件在数据表中动态添加行后不起作用

标签 javascript jquery datatables jeditable

我使用以下方法创建数据表:

 $('#purForm').dataTable({
        "bRetrieve": true,
        "bJQueryUI": true,
        "sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
        "bPaginate": false,
        "bAutoWidth": false,
        "bFilter": false

    });

然后为了编辑,我使用了数据表可编辑插件:

http://code.google.com/p/jquery-datatables-editable/wiki/EditCell

所以,基本上是为了使其可编辑,我这样做:

$('#purForm').dataTable().makeEditable({
        sUpdateURL: function (value, settings) {
            return (value);
        }
    });

使可编辑后,我尝试使用以下方法动态添加一行:

 $('#purForm').dataTable().fnAddData(['', '', '', '', '', '']);

但是 editable 不适用于这个动态添加的行,这是可以理解的,因为它可能没有使用 Jquery 的实时 api。我如何更正此问题,以便它甚至适用于动态添加的行?

一个快速而肮脏的 hack 将再次调用该函数:

$('#purForm').dataTable().makeEditable({
            sUpdateURL: function (value, settings) {
                return (value);
            }
        });

有没有更好的选择?

最佳答案

这是一个已知错误。将 Jeditable 库与数据表一起使用时,无法使用 fnAddData() 函数添加新行。

错误报告在这里:

http://code.google.com/p/jquery-datatables-editable/issues/detail?id=57

作者似乎并不认为这是一个错误,除了复制一个看似复杂的私有(private)函数的功能外,并没有真正提供任何有用的帮助。如果您希望看到更简单的方法可用,那么我强烈建议您对错误发表评论以通知作者。

仅供引用,要添加新行并使其可编辑,您需要创建自定义表单,然后通过表单中的字段提交行数据。请参阅此处的说明:

http://code.google.com/p/jquery-datatables-editable/wiki/AddingNewRecords

关于javascript - datatables-editable 插件在数据表中动态添加行后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10743965/

相关文章:

javascript - 类发现未定义的 img src

javascript - 加载页面后运行 JavaScript

php - JQuery:无法重新更新链接(我是 JQuery 新手)

jquery - 如何显示每个单元格的工具提示?

jquery - dataTables fnFilter 列 on img 文件名

javascript - 如何从剑道分层网格中携带主数据和子数据?

javascript - 如何从 ajax-jquery 请求中获取 php 函数的结果

javascript - 当用户键入/删除时,使文本字段中的提示消失/重新出现

html - 关于响应数据表的问题

javascript - javascript 中的 for 循环跳过 else if 条件一半的时间