我需要在用户点击标签时访问标签内的一些元素。
$('.myTabs').tabs({
activate: function(event,ui){
console.log("Give me some tab contents here...");
}
});
PS:我无法使用ID直接转到我的标签页,因为服务器端会呈现具有不同ID的多个标签。
有人有什么想法吗?
答案 0 :(得分:3)
使用ui
参数的newPanel
属性:
$('#tabs').tabs({
activate: function(event,ui) {
console.log(ui.newPanel.find('p').text());
}
});
注意:ui.newPanel
属性是jQuery对象。
有关详细信息,请参阅jQuery UI Tabs documentation。
答案 1 :(得分: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());
}
});
显然,您可以将文本字段的选择器更改为特定ID或其他内容。我的名字以" myField"开头。因此,当您转到标签2时,它会找到"myField2"
,当您返回标签1时,它会找到"myField1"
。