2010-12-08 3 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> 

Теперь я хочу, чтобы вставить текст в имени области form2. Я использую following jQuery code, но он заполняет имя Поле form1.

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

Так как выбрать только конкретные элементы формы?

ответ

105

Неверно указан одинаковый идентификатор дважды, поэтому #name находит только первый.

Вы можете попробовать:

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

Или,

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

Если вы застряли с неверной страницы и хотите, чтобы выбрать все #name с, вы можете использовать селектор атрибутов на ид :

$("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

8

хотя это недопустимый html, но вы можете использовать контекст селектора, чтобы ограничить свой sel Эктор в вашем случае это будет примерно так:

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

http://api.jquery.com/jquery/#selector-context

1

Я знаю, что вопрос заключается в настройке ввода, но на всякий случай, если вы хотите установить комбобокс, тогда (я ищу для него сеть и ничего не нашел, и это место кажется правильным местом для руководства другими)

Если у вас была форма с набором атрибутов ID (например, frm1) и , вы хотели установить конкретную специальную выпадающую вывеску без набора идентификаторов, но атрибут атрибута имени (например, район); затем использовать

$("#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>

Смежные вопросы