Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Datatables rows().data()不是最新的_Javascript_Input_Datatable - Fatal编程技术网

Javascript Datatables rows().data()不是最新的

Javascript Datatables rows().data()不是最新的,javascript,input,datatable,Javascript,Input,Datatable,因此,我有一个DataTable,其中第一列如下: <td> <div class="form-group m-0 p-0"> <input class="form-control" type="number" value="0"> </div> </td> 但是,如果我更改第一列上的值,并在Chrome控制台中运行 let

因此,我有一个
DataTable
,其中第一列如下:

<td>
    <div class="form-group m-0 p-0">
        <input class="form-control" type="number" value="0">
    </div>
</td>
但是,如果我更改第一列上的值,并在Chrome控制台中运行

let res = table.rows().data().reduce((acc, el) => {
    acc[el[1]] = $(el[0]).children('input').val();
    return acc;
} ,[])
我仍然可以在结果数组中看到所有旧值,而不是我手动更改的值


我已经尝试了
draw()
invlidate()
,但是什么都没有发生

显示和编辑项目需要不同的数据流。显示项目是单向流。编辑项目与显示方向相反。在某些语言中,它被称为双向通信(通常使用
bind
函数),这就是您想要做的事情。在kitchen语言中,您需要更新数组中的数据,以便在刷新表时,它将显示正确的值。您可以通过多种方式完成,从使用按键到更改事件。
let res = table.rows().data().reduce((acc, el) => {
    acc[el[1]] = $(el[0]).children('input').val();
    return acc;
} ,[])