Как выбрать конкретный элемент формы в 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>

теперь я хочу вставить текст в имя

5 55

5 ответов:

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

можно попробовать:

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

или

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

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

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

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

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

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

Я предпочитаю селектор потомков id вашего #form2, например:

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

http://api.jquery.com/descendant-selector/

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

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

$("#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>
$("#name", '#form2').val("Hello World")