У меня есть аккордеон jQuery, где каждая панель представлена элементом <div>
с классом .ui-accordion-content
. Каждая панель имеет форму внутри. В случае отправки каждой формы я хотел бы открыть следующую панель.Найти указатель первого родителя с классом
Я хотел бы путешествовать по дереву DOM из формы, найти первый div
с классом .ui-accordion-content
и возвращает его индекс на странице, так что я знаю, какая форма была «представлен» и который панели, чтобы открыть следующий ,
вот функция, которую я написал:
$("form").each(function() {
$(this).submit(function (e) {
e.preventDefault(); // this will prevent from submitting the form.
$("#accordion").accordion({ active: $(this).closest(".ui-accordion-content").index() });
return false;
});
});
Он не возвращает правильные индексы. Что случилось?
EDIT: Вот HTML:
<div id="Accordion">
<h3 class="ui-accordion-header"></h3>
<div class="ui-accordion-content FormOne">
<form>
</form>
</div>
<h3 class="ui-accordion-header"></h3>
<div class="ui-accordion-content FormTwo">
<form>
</form>
</div>
</div>
Что вы имеете в виду, указательный на странице? – Scimonster
Вы должны предоставить соответствующий HTML-код. –
Можете ли вы попробовать: 'active: $ (this) .closest (". Ui-accordion-content "). Index (". Ui-accordion-content ") + 1'?! –