【问题标题】:How to submit all grid values to the server at once with jQuery Datatables?如何使用 jQuery Datatables 一次将所有网格值提交到服务器?
【发布时间】:2011-03-02 23:18:41
【问题描述】:

我希望将网格中的所有数据保存到服务器。我正在使用 jquery Datatables 插件。

function fnSave() {
    var aTrs = oTable.fnGetNodes();
    var aReturn = new Array();

    for(var i=0;i<aTrs.length;i++) {
        var aData=oTable.fnGetData(i);
        aReturn.push( aData );
    }

    console.log(aReturn);
}

作为回报,我得到:

"<input name="regimentNameAgents" value="" id="regimentNameAgents" type="text">"
...

我只想返回网格值(而不是 HTML)。

通过使用这个函数,我的值总是:value="",即使我在输入中添加文本,为什么?

有没有更好的方法来提取所有网格数据?

【问题讨论】:

    标签: javascript jquery jquery-plugins datatables


    【解决方案1】:

    存储在 JDataTable 中的数据不是当前在 DOM 中的数据,而是您最初设置的数据。因此,当您更新输入时,DOM 元素会更新,但不会更新 jdatatable 中保存的数据。我会构建更像这样的网格:

    var grid = new Array();
    $("table tr").each(function() {
        var nextRow = new Array();
        grid.push(nextRow);
        $("td", this).each(function() {
            var nextValue = $("input", this).val();
            nextRow.push(nextValue);
        });
    });
    

    grid 变量应该存储您的完整数据表。我对您在那里的表格结构做了一些假设,因为它没有发布,但我猜这与您所拥有的相当接近。

    【讨论】:

      【解决方案2】:

      通过使用 Datatables fnGetNodes,解决方案如下:

      function fnSave() {
      
                         var aTrs = oTable.fnGetNodes();
                         var aReturn = new Array();
      
                         $(aTrs).each(function() {
                            var nextRow = new Array();
                            aReturn.push( nextRow );
      
                            $("td", this).each(function() {
                            var nextValue = $("input", this).val();
                            nextRow.push(nextValue);
                            });
                          });                  
      
                       console.log(aReturn);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多