我正在尝试在jQuery中创建一个选择器,但我的所有尝试都失败了。你能帮助我吗? 我有这样一张桌子
<tr>
<td>1</td>
<td><input id="AmontTuy1Diam" class="selectdiam"></td>
<td><input id="AmontTuy1Long" class="selectlong"></td>
<td><select class="MatSelectList" id="AmontTuy1Type">
<option value="0"> </option>
<option value="7">Value 1</option>
<option value="8">Value 2</option>
</select></td>
<td><input id="AmontTuy1Rugo" class="selectrugo"></td>
</tr>
然后我对选择列表的更改进行了操作,我想在最后一个td中更改输入的值,而不是通过id访问它。
$(".MatSelectList").change( function() {
$(this).closest('tr').find(':last-child').val('test'); //doesn't work
});
我无法通过id访问它,因为更改函数是在一个类上执行的,而且我有几个表具有这种类型的更改值。 任何想法
答案 0 :(得分:4)
您正尝试设置td的val
,您需要选择input
:
$(this).closest('tr').find('td:last input').val('test');
$(".MatSelectList").change( function() {
$(this).closest('tr').find('td:last input').val('test'); //does work
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<tr>
<td>1</td>
<td><input id="AmontTuy1Diam" class="selectdiam"></td>
<td><input id="AmontTuy1Long" class="selectlong"></td>
<td><select class="MatSelectList" id="AmontTuy1Type">
<option value="0"> </option>
<option value="7">Value 1</option>
<option value="8">Value 2</option>
</select></td>
<td><input id="AmontTuy1Rugo" class="selectrugo"></td>
</tr>
</table>
答案 1 :(得分:0)
以下是工作示例FIDDLE
$('.MatSelectList').change( function() {
$(this).closest('tr').find('td:last input').val($('option:selected').attr('value'));
});