我有一个包含多行的表,所有结构都相同。我创建了一个可以点击的DIV。如果用户单击DIV,则同一行中输入的值应更改。使用下面的代码,所有输入字段都会以相同的值更改。如何调整代码以使javascript只更改相应的输入?
<table>
<tr>
<td>
<input class="inp-hid">
</td>
<td>
<div class="acts-like-btn"></div>
</td>
</tr>
<tr>
<td>
<input class="inp-hid">
</td>
<td>
<div class="acts-like-btn"></div>
</td>
</tr>
<tr>
<td>
<input class="inp-hid">
</td>
<td>
<div class="acts-like-btn"></div>
</td>
</tr>
</table>
<script>
$(this).parents().find('.inp-hid').val("yes");
</script>
在你的按钮上添加一个click事件,它抓住它所在的行closest('tr')
然后在该行中找到输入find('input')
来设置val。
$('.acts-like-btn').on('click', function () {
$(this)
.closest('tr')
.find('input').val('yes');
});
在你的代码中
$(this).parents().find('.inp-hid').val("yes");
这是抓住window
对象,并从那里找到所有.inp-hid
元素,而不是行。
看到