如何访问jQuery选项卡中的元素

时间:2014-01-07 22:58:23

标签: javascript jquery jquery-ui

我需要在用户点击标签时访问标签内的一些元素。

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

PS:我无法使用ID直接转到我的标签页,因为服务器端会呈现具有不同ID的多个标签。

有人有什么想法吗?

2 个答案:

答案 0 :(得分:3)

使用ui参数的newPanel属性:

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

注意:ui.newPanel属性是jQuery对象。

有关详细信息,请参阅jQuery UI Tabs documentation

jsfiddle

答案 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"