2013-03-07 41 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() { 
    ... 
}); 
相關問題