0

我在我的网页中动态地添加行,有一次我想获取一行中每个单元格的值。

这是我的行的声明:

<tr class="template-upload fade">
<td class="name"><span>{%=file.name%}</span></td>
<td class="title"><label>Andar: <input name="andar" required></label></td>
</tr>

如您所见,我的行有两个单元格:名称和标题。我正在尝试使用 jQuery 获取“名称”单元格的值和输入“andar”的值。

这是我到目前为止所拥有的:

$('.template-upload tr').each(function () {
        var item = $(this); //this should represent one row

        var name = item.find('.name').text();
        var andar = item.find('input:text[name=andar]').val();
});

但是,我在这两个变量中没有得到任何东西。

我在这里能错过什么?

4

5 回答 5

1

你很接近,你只需tr要从你的选择器中删除。您的行已经有类.template-upload,所以$('.template-upload tr')不存在:

$('.template-upload').each(function () {
        var item = $(this); //this should represent one row
        var name = item.find('.name').text();
        var andar = item.find('input:text[name=andar]').val();
});

jsFiddle 示例

于 2013-03-07T23:36:11.600 回答
0

tr从您的选择器中删除。

$('.template-upload')
于 2013-03-07T23:36:21.853 回答
0

你确定你的选择器是对的吗?查看它,您的选择器.template-upload tr意味着您正在使用类查找tr元素的元素.template-upload

我想你会想要:

$('tr.template-upload').each(...)
于 2013-03-07T23:36:27.347 回答
0

.template-upload 你的tr

将您的选择器更改为:

$('.template-upload').each(function(node){ /* logic */ }
于 2013-03-07T23:37:01.907 回答
0

你有错别字...

$('tr.template-upload').each(function () {
    ...
});
于 2013-03-07T23:38:08.433 回答