我有一些标记:
<table>
<tbody>
<tr>
<td>
<input type="hidden" class="deleted" value="False" />
<input type="button" class="rtButton" value="RT" />
</td>
</tr>
<tr>
<td>
<input type="hidden" class="deleted" value="False" />
<input type="button" class="rtButton" value="RT" />
</td>
</tr>
<tr>
<td>
<input type="hidden" class="deleted" value="False" />
<input type="button" class="rtButton" value="RT" />
</td>
</tr>
</tbody>
</table>
我想要发生的是当单击rtButton时,同一td中隐藏输入的值将更改为true。
我试图通过以下方式实现这一目标:
$(function(){
$('.rtButton').click(function () {
$(this).closest('input.deleted').val("True");
alert( $(this).closest('input.deleted').val())
});
});
但似乎无法设置值。
答案 0 :(得分:2)
您可以使用siblings()
方法:
无论如何添加演示:http://jsfiddle.net/qZBkt/3/
$(function(){
$('.rtButton').click(function () {
$(this).siblings('input.deleted').val("True");
});
});
closest()
获取与选择器匹配的第一个元素,从当前元素开始并逐步向上遍历DOM树。
答案 1 :(得分:1)
或者像这样:工作演示 http://jsfiddle.net/qZBkt/
希望这能满足您的需求! :)
<强>码强>
$(function() {
$('.rtButton').click(function() {
$(this).parent().find('.deleted').val("True");
alert($(this).parent().find('.deleted').val());
});
});
答案 2 :(得分:0)
.closest()
搜索祖先元素以查找匹配项,使用.prev()
或.siblings()
选择输入
$(function(){
$('.rtButton').click(function () {
$(this).prev('input.deleted').val("True");
alert( $(this).siblings('input.deleted').val())
});
});