2010-12-08 75 views
52

我有兩個形式是這樣的:如何在jQuery中選擇特定的表單元素?

<form id='form1' name='form1'> 
    <input name='name' id='name'> 
    <input name='name2' id='name2'> 
</form> 

<form id='form2' name='form2'> 
    <input name='name' id='name'> 
    <input name='name2' id='name2'> 
</form> 

現在我想在窗口2字段插入文本。我正在使用following jQuery code,但它填充了名稱字段form1

$("#name").val('Hello World!'); 

那麼如何只選擇特定的表單元素呢?

回答

105

兩次使用相同的ID無效,這就是爲什麼#name只能找到第一個。

你可以試試:

$("#form2 input").val('Hello World!'); 

或者,

$("#form2 input[name=name]").val('Hello World!'); 

如果你堅持一個無效的頁面,並要選擇所有#name S,你可以在ID使用屬性選擇:

$("input[id=name]").val('Hello World!'); 
+0

+1感謝。還有一件事,如果我想使用多個選擇器來選擇特定表單的兩個字段,該怎麼辦? – Awan 2010-12-08 12:25:29

+4

`$('#formId field1Id,#formId field2Id')` – charliegriefer 2010-12-08 12:27:11

-2
$("#name", '#form2').val("Hello World") 
1

我知道這個問題是關於設置一個輸入,但萬一如果你想設置一個組合框然後(我搜索網絡,沒有找到任何東西,這個地方似乎是一個正確的地方引導其他人)

如果你有一個ID屬性設置的表單(例如frm1)和 你想設置一個特定的組合框,沒有ID設置但名稱屬性設置(例如區);然後用

$("#frm1 select[name='district'] option[value='NWFP']").attr('selected', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
    <form id="frm1"> 
 
     <select name="district"> 
 
      <option value="" disabled="" selected="" hidden="">Area ...</option> 
 
      <option value="NWFP">NWFP</option> 
 
      <option value="FATA">FATA</option> 
 
     </select> 
 
    </form>

相關問題