Как получить доступ к элементам внутри вкладки jQuery

0

Мне нужно получить доступ к некоторым элементам внутри вкладки при нажатии пользователем на вкладке.

$('.myTabs').tabs({
    activate: function(event,ui){
        console.log("Give me some tab contents here...");
    }
});

PS: я не могу использовать идентификатор, чтобы перейти непосредственно к моей вкладке, потому что serveride отображает несколько вкладок с разными идентификаторами.

У кого-нибудь есть идеи?

  • 0
    Какие именно элементы вы хотите сослаться на вкладке?
  • 0
    Давайте просто скажем несколько текстовых полей.
Показать ещё 2 комментария

2 ответа

3
Лучший ответ

Используйте ui параметры newPanel свойства:

$('#tabs').tabs({
    activate: function(event,ui) {
        console.log(ui.newPanel.find('p').text());
    }
});

Примечание. Свойством ui.newPanel является объект jQuery.

Дополнительную информацию см. В документации к вкладкам jQuery UI.

jsfiddle

  • 0
    Хорошо, вот и все.
  • 0
    @RealityDysfunction - я обновил код, чтобы удалить ненужный вызов $() . Оказывается, значение ui.newPanel является объектом jQuery, а не элементом DOM.
1

Здесь вы найдете: http://jsfiddle.net/RNvwv/6/

$('.myTabs').tabs({
    activate: function(event,ui){
        //alert(ui.newTab.index());
        //console.log(ui);
        //console.log(ui.newPanel.selector);
        //Here is how to reference a text value in the tab you are clicking on...
        alert($(ui.newPanel.selector+' [name^="myField"]').val());
    }
});

Очевидно, вы можете изменить селектор, чтобы ваши текстовые поля находились на конкретном идентификаторе или что-то еще. Я пошел с именем, которое начинается с "myField", так что, когда вы переходите на вкладку 2, он находит "myField2" и когда вы вернетесь на вкладку 1, он найдет "myField1".

Ещё вопросы

Сообщество Overcoder
Наверх
Меню