JQuery获取选定选项卡的ID不起作用

时间:2013-05-28 15:54:04

标签: javascript jquery tabs jquery-ui-tabs jquery-tabs

我已经尝试了很多示例,但是我无法使用我的代码来获取所选标签的ID

http://pastebin.com/A5cqQS61

js code:

$(function() {
  $('#tabs').tabs({
    select: function(event, ui) {
        console.log($(ui.tab)); // the tab selected
        console.log(ui.index);
    },
    show: function(event, ui) {
        console.log($(ui.tab)); // the tab shown
        console.log(ui.index);
    }
    });
});

HTML:

<div id="tabs">
    <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a></li>
        <li><a href="#tabs-2">Proin dolor</a></li>
        <li><a href="#tabs-3">Aenean lacinia</a></li>
    </ul>
    <div id="tabs-1">
        <p>text1</p>
    </div>
    <div id="tabs-2">
        <p>text2</p>
    </div>
    <div id="tabs-3">
        <p>text3</p>
    </div>
</div>

我放入了pastebin,因为我不明白ow代码块在堆栈中工作!我已经四次按空间,似乎从来没有好好运作。

到目前为止,我已查看过这些解决方案: jquery tab selected jQuery tabs - Get the index of previously selected tab jQuery tabs - Get the index of previously selected tab Get tab selected Id in jQuery UI 1.9

3 个答案:

答案 0 :(得分:1)

你应该使用ui.panel,返回div标签元素:{如果它是你要找的东西?}

SEE DEMO

$(function () {
    $('#tabs').tabs({
        select: function (event, ui) {
            console.log(ui.panel.id);
            console.log(ui.index);
        },
        show: function (event, ui) {
             console.log($(ui.panel));//jq object
            console.log(ui.panel.id);
            console.log(ui.index);
        }
    });
});

答案 1 :(得分:0)

我通常采用盗版方式... $('#tabs li.active')。这将为您提供id ='tabs'元素下的活跃li。如果你可以获得元素,也... jQuery允许你做这样的事情...... $(元素)。

从那里你可以做var ID = $(element.attr('id');

答案 2 :(得分:0)

请尝试这一个 - 注意不同的事件名称('激活')和ui对象的不同属性的用法:

$(function() {
  $('#tabs').tabs({
    activate: function(event, ui) {
        console.log(ui.newPanel[0].id);
    }});
});