Javascript 数据表';输入元素不工作的自动填充扩展 上下文

Javascript 数据表';输入元素不工作的自动填充扩展 上下文,javascript,jquery,datatables,datatables-1.10,Javascript,Jquery,Datatables,Datatables 1.10,我正在使用扩展插件。它基本上允许您通过向上或向下拉动十字(其右下角)来复制单元格。这在我的项目中效果很好 问题 但是,当我尝试在单元格内复制输入时,它会清除选定的输入。通过阅读文档,似乎旧版本的插件能够复制单元格内的输入,只需添加一个小的。从中,通过查看write选项,我正在寻找的行为在默认情况下应该是可能的: 此回调是fnRead的必然结果,提供了一种 自定义自动填充如何将计算的填充值写入给定单元格。 默认情况下,自动填充将在输入或选择元素中设置值 如果在单元格中找到,则会将该值设置为HTM

我正在使用扩展插件。它基本上允许您通过向上或向下拉动十字(其右下角)来复制单元格。这在我的项目中效果很好


问题 但是,当我尝试在单元格内复制输入时,它会清除选定的输入。通过阅读文档,似乎旧版本的插件能够复制单元格内的输入,只需添加一个小的。从中,通过查看
write
选项,我正在寻找的行为在默认情况下应该是可能的:

此回调是fnRead的必然结果,提供了一种 自定义自动填充如何将计算的填充值写入给定单元格。 默认情况下,自动填充将在输入或选择元素中设置值 如果在单元格中找到,则会将该值设置为HTML

问题是,当输入有一个初始值时,复制就起作用了。但在添加/编辑该值时,它会复制上一个值。它试图添加读写函数选项,但从未调用它们(请参阅fiddle)


代码 这是一个复制我的问题:

  • 将第1列第1列向下拖动到第2列第1列->工作
  • 编辑第1列第1列的值并重复步骤1->返回到上一个值
  • 在第1列第2列中输入值并向下拖动->重置值而不复制

  • value属性似乎从未更新过。

    您需要使用
    读取
    写入
    回调来检索和设置
    元素的值

    此外,似乎自动填充会在默认情况下尝试增加值。我必须添加
    step
    callback来覆盖这个行为

    new $.fn.dataTable.AutoFill(table, {
        "columnDefs": [{
            "read": function (cell) {
                return $('input', cell).val();
            },
            "write": function (cell, val) {
                return $('input', cell).val(val);
            },
            "step": function ( cell, read, last, i, x, y ) {
               return last === undefined ? read : last;
            },        
            "targets": [0,1,2] // Use "_all" to target all columns
        }]
    });
    

    有关代码和演示,请参阅。

    这太棒了!非常感谢:)谢谢,正是我想要的。。。我无法拖动单元格。。。我遗漏了什么吗?@singhswat,example提取了最新的自动填充扩展,该扩展与代码和数据表库不兼容。我更新了示例以使用较旧的自动填充扩展。此答案可能需要更新为最新版本的扩展。