0

我有这样的桌子-

<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);

但这不起作用。任何机构都可以为此提供一些帮助。

4

3 回答 3

0

ID 必须是唯一的,您可以使用 id 选择器选择元素:

$('#field_length').val(10)

我需要的是更改除第一行之外的每一行中所有文本框的值。

你可以试试:

$('input:not(:first)').val(10)
于 2012-08-08T09:41:00.617 回答
0

您的第一个 td 以另一个 td 而不是 /td 结尾。顺便说一句,正如您解释如何构建表格时,您将获得多个具有相同 ID 的元素,这是不允许的,正如 Raminson 所提到的,ID 应该是唯一的。最后,您可以尝试使用 each()。如果您需要我,我会在这里发布如何操作。

于 2012-08-08T09:48:23.090 回答
0

改用这个,只需选择名称以长度开头的输入,而不是错误的 ID 构造。元素名称的第一部分是固定的……如果需要,您可以使用此解决方案删除 ID。

$("table tr:nth-child(2) input:text[name^=length]").val(10);

小提琴样本

于 2012-08-08T10:04:58.010 回答