2013-05-28 34 views
1

我已经尝试了很多的做例子,我不能让我的代码工作得到所选标签的IDJQuery的获得所选标签的ID不起作用

http://pastebin.com/A5cqQS61

JS代码:

$(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> 

我把引擎收录,因为我不明白个流e代码块在堆栈中工作!我按了四次空间,似乎从来没有效果。

我已经看过到目前为止这些解决方案: 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

回答

0

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

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

作品,谢谢 – user2414932

0

我通常做的盗版方式... $( '#标签li.active')。这会给你id ='tabs'元素下的活动li。如果你可以得到元素,也... jQuery允许你做这样的事情... $(element)。

从那里,你可以做VAR ID = $(element.attr( '身份证');

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); 
     } 
    }); 
}); 
+0

这不适合我。在演示中,当我在我的终端上使用我的代码时,它使用了(我在日志中看到它),使用我在pastebin中的代码,记录器不显示任何声音 – user2414932

+0

什么意思是“不起作用”?任何错误?作品在jsfiddle(jquery 1.9.1/UI 1.9.2) –

+0

没有错误,它真的很奇怪 – user2414932