Мне нужно получить доступ к некоторым элементам внутри вкладки при нажатии пользователем на вкладке.
$('.myTabs').tabs({
activate: function(event,ui){
console.log("Give me some tab contents here...");
}
});
PS: я не могу использовать идентификатор, чтобы перейти непосредственно к моей вкладке, потому что serveride отображает несколько вкладок с разными идентификаторами.
У кого-нибудь есть идеи?
Используйте ui
параметры newPanel
свойства:
$('#tabs').tabs({
activate: function(event,ui) {
console.log(ui.newPanel.find('p').text());
}
});
Примечание. Свойством ui.newPanel
является объект jQuery.
Дополнительную информацию см. В документации к вкладкам jQuery UI.
$()
. Оказывается, значение ui.newPanel
является объектом jQuery, а не элементом DOM.
Здесь вы найдете: 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"
.