Подтвердить что ты не робот

Как выбрать конкретный элемент формы в 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. Я использую следующий код jQuery, но он заполняет поле имя form1.

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

Итак, как выбрать только определенные элементы формы?

4b9b3361

Ответ 1

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

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

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

Или

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

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

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

Ответ 2

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

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

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

Ответ 4

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

Если у вас есть форма с набором атрибутов 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>

Ответ 5

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