2010-05-12 5 views
0

У меня есть таблица (созданная сервером) ниже. Я хочу получить значение входного элемента class="itemQuantity" щелкнутой строки. Я пишу код jQuery, но ему не хватает «этого» щелкнутого элемента.jQuery: как выбрать элемент с щелчком в таблице без определения уникального идентификатора для каждого элемента

<script type="text/javascript"> 
$(document).ready(function() { 
    $('.updateButton').click(function() { 
     alert($('.itemQuantity').val()); 
    }); 
}); 
</script> 

Как я могу это сделать с JQuery (я думал использовать это и не создать идентификатор для каждого элемента, но у меня есть низкое знание в JQuery).

Спасибо, Йосеф

<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

0

В обработчиков событий JQuery «это» относится к элементу DOM, который является источником события. Таким образом, в вашей функции click() вы можете использовать либо это, либо $ (this), если вам нужен обернутый объект.

+0

Спасибо за отличные ответы! – Yosef

0

Если ваш HTML фиксирован вы также можете достичь того же результата с родителем():

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('.updateButton').click(function() { 
     alert($(this).parent().parent().find('.itemQuantity').val()); 
    }); 
    }); 
</script> 
Смежные вопросы