【问题标题】:jquery get values from table cellsjquery 从表格单元格中获取值
【发布时间】:2012-05-15 18:25:42
【问题描述】:

我需要在表格的第 5 列中获取文本框的值,并在警报中显示该值。

文本框的名称为: T[1] , T[2] , T[3] ..........T[30]

 $('#MyTable tr td:nth-child(5)').each(function(index) {

       var TextBoxValue = $("input[type=text][name^=T]").eq(index).val();

    });

我的表有:10 列和 30 行

但它会跳过一行,并在警报框中显示奇数行 Textbox 值。

请帮忙

【问题讨论】:

    标签: jquery arrays each


    【解决方案1】:

    不完全确定您的标记是什么样子或您将.eq(index) 放在哪里,但试试这个:

     $('#MyTable tr td:nth-child(5)').each(function(index) {
    
        var TextBoxValue = $("input[type=text][name^=T]", this).val();
    
        console.log(TextBoxValue);
    });
    

    我所做的最重要的更改是向选择器“, this”添加上下文。我还删除了“.eq(index)”部分。

    在这里演示:http://jsfiddle.net/aymansafadi/CpNZV/

    【讨论】:

    • 非常感谢先生,但是 .eq(index) 中的问题是什么。为什么它不起作用?
    • 技术上,它没有任何问题(因此没有错误消息),但使用没有意义。根据 jQuery 文档,eq() 函数用于“将匹配元素集减少到指定索引处的元素”。因此,假设您在 each() 循环的第 7 次迭代中,您的原始选择器将在单个单元格中查找 $("input[type=text][name^=T]") 的第 7 个实例。