根据 id 而不是索引选择 jquery-ui-tab?
有人知道为什么以下不起作用吗?
$.each( data.d, function( index, item ) {
// creates the tabs with custom ids
$( "#tabs" ).tabs( "add", "page.aspx?id=" + item.id, item.name )
.find('>ul>li:last')
.attr('id', 'tab_' + item.id);
// creates the buttons
$( "#buttons" ).append( "<input type='button' id='buttona" + item.id + "' value='" + item.name + "'>" );
// link buttons with tabs
$( "#buttona" + item.id ).live('click', function() {
$( "#tabs" ).tabs( "select" , "#tab_" + item.id );
});
});
我试图将 id
分配给选项卡,然后使用其 id
选择选项卡。
单击按钮时,上面的代码不会执行任何操作,并且根本不会返回任何错误。
使用 index
时效果很好,如下所示,但由于各种原因我需要使用 id
:
$.each( data.d, function( index, item ) {
// creates the tabs
$( "#tabs" ).tabs( "add", "page.aspx?id=" + item.id, item.name );
// creates the buttons
$( "#buttons" ).append( "<input type='button' id='button" + index + "' value='" + item.name + "-" + index + "'>" );
// link buttons with tabs
$( "#button" + index ).live('click', function() {
$( "#tabs" ).tabs( "select" , index );
});
});
Anyone know why the following does not work?
$.each( data.d, function( index, item ) {
// creates the tabs with custom ids
$( "#tabs" ).tabs( "add", "page.aspx?id=" + item.id, item.name )
.find('>ul>li:last')
.attr('id', 'tab_' + item.id);
// creates the buttons
$( "#buttons" ).append( "<input type='button' id='buttona" + item.id + "' value='" + item.name + "'>" );
// link buttons with tabs
$( "#buttona" + item.id ).live('click', function() {
$( "#tabs" ).tabs( "select" , "#tab_" + item.id );
});
});
I am trying to assign id
's to the tabs, then select the tabs using their id
's.
The above does nothing when a button is clicked and it returns no errors at all.
It works fine when using the index
as shown below, but I need to use an id
for various reasons:
$.each( data.d, function( index, item ) {
// creates the tabs
$( "#tabs" ).tabs( "add", "page.aspx?id=" + item.id, item.name );
// creates the buttons
$( "#buttons" ).append( "<input type='button' id='button" + index + "' value='" + item.name + "-" + index + "'>" );
// link buttons with tabs
$( "#button" + index ).live('click', function() {
$( "#tabs" ).tabs( "select" , index );
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 index() 方法从选项卡标头的 id 获取选项卡的索引:
由于在上面的代码中调用
index()
时不带参数,因此它将返回该元素相对于其同级元素(即其他选项卡标题)的索引。You can use the index() method to get the index of the tab from the id of its header:
Since
index()
is called without arguments in the code above, it will return the index of the element relative to its siblings, i.e. the other tab headers.您可以使用选项卡的 id 来切换选项卡:
you can switch the tabs with the id of the tab:
在我看来, .index() 返回从 1 开始的索引,因此如果我有 3 个选项卡并且想要选择第三个选项卡,我应该返回:
It seems to me that .index() returns an index from 1 so that if I have 3 tabs and want to select the third one, I should return :