【问题标题】:jQuery Table rows drag and drop pluginjQuery Table 行拖放插件
【发布时间】:2010-11-26 11:14:40
【问题描述】:

我正在使用this 插件在页面上启用拖放表行。该插件自带了一个序列化函数,它将每个表行的ID传递给一个AJAX函数,如下所示:

serializeTable: function(table) {
    var result = "";
    var tableId = table.id;
    var rows = table.rows;
    for (var i=0; i<rows.length; i++) {
        if (result.length > 0) result += "&";   
        var rowId = rows[i].id;   
        if (rowId && rowId && table.tableDnDConfig && table.tableDnDConfig.serializeRegexp) {
            rowId = rowId.match(table.tableDnDConfig.serializeRegexp)[0];
        }

        result += tableId + '[]=' + rowId;
    }
    return result;
},

不幸的是,该行的 HTML ID 对我没有多大用处。相反,我试图传递该行的第一个 TD 中包含的值,但到目前为止我还没有太多运气。

我一直在尝试用类似的东西替换 rowId 变量,但它返回的只是“未定义”。

var val = $(rowId + "td:nth-child(1)").value; 

有没有简单的方法来做到这一点?一旦我为 PHP 脚本获得了正确的值,我会没事的,但我仍然对 javascript 非常缺乏经验。

任何建议将不胜感激。谢谢。

【问题讨论】:

    标签: jquery ajax plugins serialization


    【解决方案1】:
    var val = $(rowId + "td:first").val();
    

    【讨论】:

    • 仍然响应 undefined:(
    【解决方案2】:

    可能是您缺少空格?而且,如果您只想在单元格中使用文本,则需要使用 .text()... 试试;

    var val = $(rowId + " td:eq(0)").text();
    

    【讨论】:

      【解决方案3】:
      var val =$('tr#'+rows[i].id+" td:first").html();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-19
        • 1970-01-01
        • 2012-07-16
        • 2021-01-10
        相关资源
        最近更新 更多