我有这样的表 -
<table class='table'>
<tr>
<td class="td"><input type="text" name="name<%=f.getId()%>" value="<%=f.getName()%>"/>
</td>
<td class="td"><input type="text" id="field_length" size="3" name="length<%=f.getId()%>" value="<%=f.getLength()%>"/></td>
<td class="td"><input type="text" name="tooltip<%=f.getId()%>" value="<%=f.getToolTip()%>"/></td>
</tr>
<tr>
same like the previous.......
</tr>
<tr>
same like previous....
</tr>
现在我想更改位于第二行的文本框中的值为id“field_length”。我试着使用jquery来做到这一点。
$(‘tr:nth-child(2) input:text#field_length’).val(10);
但这不起作用。任何人都能为我提供一些帮助。
答案 0 :(得分:0)
ID必须是唯一的,您可以使用id选择器选择元素:
$('#field_length').val(10)
我需要的是更改除第一行之外的所有文本框的值。
您可以尝试:
$('input:not(:first)').val(10)
答案 1 :(得分:0)
你的第一个td以另一个td而不是/ td结束。 顺便说一下,正如你解释了如何构建你的表,你会得到几个具有相同ID的元素,这是不允许的,ID应该是唯一的,正如Raminson所说。 最后,您可以尝试使用each()。如果你需要我,我会在这里发帖。
答案 2 :(得分:0)
使用此选项,只需选择名称以length开头的输入,而不是错误的ID构造。元素名称的第一部分是固定的......如果您想使用此解决方案,则可以删除ID。
$("table tr:nth-child(2) input:text[name^=length]").val(10);