jQuery选择器不在id上

时间:2014-10-30 14:22:15

标签: javascript jquery html

我正在尝试在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访问它,因为更改函数是在一个类上执行的,而且我有几个表具有这种类型的更改值。 任何想法

2 个答案:

答案 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'));
});