JQuery получить идентификатор формы по входному идентификатору - PullRequest
6 голосов
/ 28 марта 2010

У меня действительно простой вопрос. Как получить идентификатор формы по идентификатору элемента ввода.

<form id="my_form">
    <fieldset>
        <!--some <div>'s-->
            <input id="my_input"></div>
        <!--some <div>'s end-->
    </fieldset>
</form>

Теперь, если у меня есть

var form_input = $('#my_input');

Как я могу получить идентификатор "my_form"?

Спасибо.

Ответы [ 3 ]

20 голосов
/ 28 марта 2010

Использование closest. Он ищет предков * элемента, чтобы найти первое (самое близкое) совпадение.

$('#my_input').closest('form').attr('id');

* Примечание: closest () ищет вверх, начиная с текущего элемента, поэтому может соответствовать текущему элементу.

9 голосов
/ 28 марта 2010

Вам даже не нужен jQuery для этого. Каждый элемент формы имеет атрибут .form, который вы можете использовать для прямого доступа к объекту формы без необходимости повторного поиска в jQuery:

$('#my_input').get(0).form.id
4 голосов
/ 28 марта 2010

Самый простой способ - использовать closest():

var id = $('#my_input').closest('form').attr('id');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...