2012-08-08 56 views
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); 

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

+0

只需使用'id'选择输入,如果你有相同'id'你有无效的HTML多种元素,并应纠正。 – 2012-08-08 09:42:36

回答

0

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

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

Fiddle sample

+0

非常感谢Yoeri。这看起来更好。但另一个问题是我有另一张桌子,我不想摆弄。我能否仅在您提供的jQuery代码中使用此表格? – 2012-08-08 10:16:09

+0

该表是否有ID?如果是,$(“table#TABLEID tr:nth-​​child(2)input:text [name^= length]”)。val(10); – Yoeri 2012-08-08 11:46:16

0

ID必须是唯一的,你可以通过使用id选择器中选择元素:

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

我需要的是改变的货值均文本框的每行中除第一个。

你可以试试:

$('input:not(:first)').val(10) 
+0

嗨,我试过这个,但是这改变了第一行文本框的值。但不适合其他人。我需要的是改变除了第一行以外的每一行中的所有文本框的值。 – 2012-08-08 09:44:54

+0

@SomSarkar嗨,这发生在您为多个元素使用ID时,ID必须是唯一的。 – undefined 2012-08-08 09:46:24

+0

嗨Raminson ...实际上这张桌子是通过for循环填充的。这就是为什么所有的行都会有一个具有相同ID的td。您建议的代码将更改所有行的值。感谢那。但是,是否有可能做一些事情,以便我可以一次更改文本框的值? – 2012-08-08 09:55:40

0

你的第一个TD与其他TD,而不是/ TD结束。 顺便说一句,正如你解释过你如何构建你的表格一样,你会得到一些不允许使用相同ID的元素,正如Raminson所说,ID应该是唯一的。 最后,你可以尝试使用each()。我会在这里发布如何,如果你需要我。

+0

非常感谢。如果你能提供给我,IT将会很有帮助。另一件事你能告诉我,如果我不使用ID,那么我怎样才能改变文本框的值,这是第二个TD,并在特定的TR下。 – 2012-08-08 09:59:51

+0

好的,实际上不需要使用each(): – oued 2012-08-08 10:13:29

+0

好的,实际上不需要使用each()。 Yoeri的解决方案对我来说看起来不错,除了你必须选择你需要的行,而不是第十一个孩子。 – oued 2012-08-08 10:22:08

相关问题