2012-08-08 31 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

相關問題