2013-03-07 75 views
0

我在我的WebPage中以行的形式添加行,并且在某一时刻我想要获取每行的值。我如何使用jQuery获得每一行的每个单元格值

这是我行的声明:

<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获取“name”单元格的值和输入“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(); 
}); 

不过,我在这两个可变得到任何东西。

我在这里可能会错过什么?

+0

如果您照原样使用JS,则只能捕获最后一个表格行中的最后一个值,因为您基本上覆盖了变量的值。 尝试将它们推入数组:) – Terry 2013-03-07 23:34:25

+0

你打算如何使用变量? – 2013-03-07 23:36:46

回答

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 example

+0

哦,伙计!我太亲近了!但非常感谢!我希望它也能帮助别人! ;) – 2013-03-07 23:42:45

0

从你选择删除tr

$('.template-upload') 
0

你确定你的选择器是正确的吗?看着它,你的选择器是.template-upload tr这意味着你正在寻找tr元素里面的元素与.template-upload类。

我想你会想:

$('tr.template-upload').each(...) 
0

.template-uploadIStr

更改您的选择,以这样的:

$('.template-upload').each(function(node){ /* logic */ } 
0

你有一个错字...

$('tr.template-upload').each(function() { 
    ... 
}); 
相关问题