jQuery - получить элементы формы по идентификатору контейнера. - PullRequest
10 голосов
/ 24 мая 2010

Это самый простой способ получить все элементы формы, содержащиеся в элементе-обертке.

<form name="myForm">
  <input name="elementA" />
  <div id="wrapper">
    <input name="elementB" />
    <textarea name="elementC" />
  </div>
</form>

В приведенном выше HTML-коде я бы использовал elementB и elementC, но не elementA.Я не хочу перечислять все типы элементов формы (select, textarea, input, option ...).Я бы предпочел использовать myForm.elements.

Есть идеи?

Ответы [ 4 ]

15 голосов
/ 24 мая 2010

Используйте псевдоселектор :input, если не хотите указывать их все:

$('#wrapper :input');

:input выбирает все элементы ввода, текстовое поле, выбор и кнопки.И здесь нет необходимости использовать .children().

1 голос
/ 24 мая 2010

Если в нем нет ничего, кроме элементов формы

$('#wrapper').children();

Если будут и другие вещи

$('#wrapper').children( 'input, select, textarea' );
0 голосов
/ 07 апреля 2013

А как же

$(form)[0].elements

Знаю, что код выше работает в Chrome. Не тестировать другие браузеры.

0 голосов
/ 24 мая 2010

jQuery ('form [name = myform] div # wrapper'). Children ();

...