javascript - 使用 Jquery 提取表中每一行的控件值

标签 javascript jquery asp.net

请看这里:(已更新) DEMO

我正在尝试创建一个逗号 , 和管道 | 分隔的表格每一行中控件值的字符串。每个控制值由逗号分隔,每行由管道分隔,我正在使用这段代码这样做..

$("#btnsave").click(function () {
    var result = "";
    $("#field tr").each(function (iRow, row) {
        $("td input", row).each(function (iField, field) {
            result += $(field).val() + ",";
        });
        result = result + "|";
    });
    alert(result);
});

此代码的问题在于它排除了 DropDown。我还想包括第一列中显示的行号。 虽然我现在正在使用这段代码,但我不太明白其中的内容。有人可以向我解释一下这段代码吗,我是 Jquery 的菜鸟。

最佳答案

添加下拉菜单(我认为您的意思是select元素)相当简单,只需更改$('td input', row) 改为 $('td input, td select', row)

我创建了一个示例 ( http://jsbin.com/garohure/1/edit ),其中也包含输出中的第一列:

function tableToString(){
    var rows = [];

    $("#field tr").each(function (iRow, row) {

        var cells = [],
            firstTd = $(row).find('td').first();

        cells.push( firstTd.text() );

        $(row).find('input,select').each(function (iField, field) {
            cells.push( $(field).val() );
        });

        rows.push( cells.join('|') );
    });

   return rows.join(',<br>');
}

我的功能有点不同,因为我试图让它更清楚地了解正在发生的事情。我还首先收集数组中的所有值,将其连接到字符串,然后保存。

这里的逻辑是:

  • 获取表中的所有行/TR并循环遍历它们
  • 获取第一个单元格的值以及该行中所有输入和选择字段的值
  • 连接这些值并将它们保存在行数组中
  • 完成后,连接行数组中的所有值并返回它们

顺便说一句,将此作为额外的函数,而不是在事件回调中执行所有操作,可以让您轻松地从其他地方(例如用于测试的控制台)执行它。

关于javascript - 使用 Jquery 提取表中每一行的控件值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23421510/

相关文章:

c# - Reference.svcmap : Could not load file or assembly 'xxx' after . NET 4.5.1更新

javascript - 来自 php 的 Ajax 响应不会将收到的数据显示为可折叠 - jquery mobile?

javascript - 计算从底部到当前位置的距离

asp.net - 使用中继器控件建立动态链接

javascript - 使用 div jquery 创建 div

javascript - 如何更改 Bootstrap 切换菜单中的文本对齐方式?

asp.net - 任何良好的绘图组件/库的经验

javascript - 如何在 map 上悬停时显示实时属性

javascript - ExtJS DataView 定制和事件

javascript - 带有 2 个选择框的动态表