次のようなテーブルがあります。
<table>
<tbody>
<tr>
<td>
<input type="text" class="identifier" />
</td>
<td class="name">
Some value
<input type="hidden" value="Some value" class="hiddenName" />
</td>
</tr>
<tr>
<td>
<input type="text" class="identifier" />
</td>
<td class="name">
Some value 2
<input type="hidden" value="Some value 2" class="hiddenName" />
</td>
</tr>
</tbody>
</table>
私がやりたいことは、クラス識別子を持つ入力の値が変更されたときに、同じ行のクラス「名前」の列のテキストを「値の設定」に変更し、hiddenName 値も「設定値」に変更
たとえば、クラス識別子を持つ 2 番目の行の入力が変更された場合、マークアップを次のように変更する必要があります。
<table>
<tbody>
<tr>
<td>
<input type="text" class="identifier" />
</td>
<td class="name">
Some value
<input type="hidden value="Some value" class="hiddenName" />
</td>
</tr>
<tr>
<td>
<input type="text" class="identifier" />
</td>
<td class="name">
Set value
<input type="hidden value="Set value" class="hiddenName" />
</td>
</tr>
</tbody>
</table>
だから私が思いついたjqueryは次のとおりです。
$('.identifier').change(function () {
var row = $(this).parent("tr");
row.find('.hiddenName').val("Set value");
row.find('.name').text("Set value");
});
ただし、これはまったく機能していません。
私が間違っていることと修正方法を誰かが知っていますか?