2010-05-12 80 views
0

我有下面的表(由服務器生成)。 我想獲得點擊行的輸入元素值class="itemQuantity"。 我寫的jQuery代碼,但他缺少單擊元素的「this」。我怎樣才能用jQuery(我想用這個,而不是爲每個元素創建id,但我對jQuery知之甚少)做到這一點。jQuery:如何選擇表中單擊的元素,而不爲每個元素定義唯一的ID

謝謝, 約瑟夫

<table id="items"> 
<tr> 
<th>item id</th> 
<th>item name</th> 
<th>item quantity</th> 
<th>item update</th> 
</tr> 
<tr> 

<td class="itemID"> 
1 
</td> 

<td class="itemName"> 
Ferari 
</td> 
<td > 
<input class="itemQuantity" type="text" size="4" /> 
</td> 
<td> 
<button class="updateButton">update item</button> 
</td> 
</tr> 
<tr> 

<td class="itemID"> 
2 
</td> 

<td class="itemName"> 
Fiat 
</td> 
<td > 
<input class="itemQuantity" type="text" size="4" /> 
</td> 
<td> 
<button class="updateButton">update item</button> 
</td> 
</tr> 

<tr> 

<td class="itemID"> 
3 
</td> 

<td class="itemName"> 
Hundai 
</td> 
<td > 
<input class="itemQuantity" type="text" size="4" /> 
</td> 
<td> 
<button class="updateButton">update item</button> 
</td> 
</tr>  
</table>  

回答

2
$(document).ready(function() { 
$('.updateButton').click(function() { 
    alert($(this).closest('tr').find('.itemQuantity').val()); 
}); 
}); 
+0

非常感謝你,它的作品! – Yosef 2010-05-12 10:33:46

0

在jQuery中的事件處理程序 「這個」 將指的是事件的源的DOM元素。因此,在click()函數中,如果需要包裝對象,則可以使用this或$(this)。

+0

謝謝你所有的好回答! – Yosef 2010-05-12 10:34:12

0

如果您的HTML是固定的,你也可以實現與母公司)相同的結果(:

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('.updateButton').click(function() { 
     alert($(this).parent().parent().find('.itemQuantity').val()); 
    }); 
    }); 
</script> 
相關問題