#javascript #jquery
#javascript #jquery
Вопрос:
У меня есть страница с несколькими формами внутри нее.
Я хочу получить форму # (например, вторая форма — форма № 2), в которой конечный пользователь выбрал некоторый текст
Я буду использовать форму # для выполнения некоторых дальнейших операций с этой конкретной формой, используя jquery, и мне нужно, чтобы форма # передавалась в качестве параметра для вызовов jquery, которые я должен выполнить.
Есть ли какой-нибудь способ получить это с помощью jquery или javascript?
Ответ №1:
Вы можете использовать index()
метод для поиска # формы:
var $form = $('#someFormId');
var index = $('form').index($form); //OR, equivalent:
index = $form.index('form');
Формат:
$element
. index(
селектор )
(где $element
— объект jQuery, а селектор — строка, соответствующая коллекции для поиска).
$collection
.index(
$element
)
(где $collection
— объект jQuery, представляющий все элементы, и $element
является либо объектом DOM, либо объектом jQuery, представляющим искомый элемент.
Примечание: параметр the index()
очень важен. Внимательно ознакомьтесь с документацией, если вы не уверены в этом.
Ответ №2:
Использование фокуса может позволить вам установить переменную, чтобы узнать идентификатор формы, в которой конечный пользователь нажал на одно из ее полей.
HTML :
<form id="1">
<input id="target1" type="text" value="Field 1" />
<input type="text" value="Field 2" />
</form>
<form id="2">
<input id="target2" type="text" value="Field 1" />
<input type="text" value="Field 2" />
</form>
javascript (jQuery) :
$('form').each(function(){
$(this).children().focus(function() {
alert($(this).parent('form').attr('id'));
});
});
пример jsfiddle: http://jsfiddle.net/qnsqZ /
Комментарии:
1. пожалуйста, также скажите мне, как получить форму # (т. Е. Номер формы, с первой формой # = 0) либо с помощью идентификатора формы (который вы показали, как получить), либо напрямую… Кроме того, если у меня есть идентификатор формы, сохраненный в переменной, как мне выбрать эту форму в выражении jquery (например, текущее выражение — jquery(‘input’, document.forms [0]) —, есть ли какой-нибудь способ изменить это, чтобы идентификатор формыполученный с помощью вашего кода (и сохраненный в переменной) используется в качестве параметра? Спасибо за вашу помощь.