jQuery UI选项卡:从链接定位动态选项卡
jQuery UI Tabs: Targeting Dynamic Tab from a Link
最近我一直在考虑使用以下脚本打开一个选项卡:
$('.tofour').click(function() { // bind click event to link
$tabs.tabs('select', 3); // switch to third tab
return false;
});
然而,我的具体问题是,我正在工作的网站并不总是加载相同的选项卡集。选项卡可以根据是否存在某些信息而更改。示例:
在某些情况下,我们将有足够的数据用于:
- 产品数据(#概述)
- 规格(#规格)
- 附件(#附件)
- 服务(#服务)
- 客户评价(#Reviews)
在其他情况下,只有足够的数据来填充两个选项卡
- 产品数据(#概述)
- 附件(#附件)
正如你所能想象的,这会产生一个问题,因为标签号可能会更改;"规格"选项卡(#specs
)可能是第二个选项卡,也可能是第一个选项卡(如果"产品数据"不存在),或者"规格"标签可能根本不存在。
因此,为了便于讨论,假设我希望以Specification选项卡为目标。我想第一件事是检查div id #specs
是否存在。然后我想我必须创建一个链接,将目标。但是,我可以像上面的例子一样,以id而不是标签号为目标吗?
有人能帮忙吗?我很惭愧地承认,我的jQuery技能相当差。
我提前感谢你。
您可以通过此代码获取索引,然后检查它是否为-1(这意味着它不存在)
注意:这假设选项卡的a标签具有specs的id
var index = $('#tabs a').index($('#specs'));
if (index > -1) {
$('#tabs').tabs('select', index);
}
创建一个javascript数组,其中包含作为键的选项卡id和作为值的选项卡索引:
// if you're using php and the tabs that need to be generated are in a variable called $tabs
// you could work this out in other languages
$count = count($tabs);
for($i=0;$i<=$count;$i++){
$tab = $tabs[$i];
echo 'tab_indexes[' . $tab['id'] . '] = ' . $i . ';'; // id as in #specs, etc
}
然后使用jQuery:中的数组
$('#to_specs').click(function() { // bind click event to link
$('#tabs').tabs('select', tab_indexes['#specs']); // switch to specs tab
return false;
});
这应该对场景有好处您可以将element.id.match('specs')
替换为您想要的条件
$('.tofour').click(function(evt) {
$('#tabs a').each(function(index,element){
if(index != -1 && element.id.match('specs')){
$('#tabs').tabs('select', index);
return false;
}
});
});
$("#m").live('click',function(){
$('#tabs').tabs({ selected: "#tabs-1" });
});
试试这个。让我进一步了解。
相关文章:
- CSS-如何定位内容数据标题
- 我的单元测试选项是什么
- 如何更改bigquery API中的计费层选项
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 使用Javascript获取所选选项ID
- Selectize.js:如何对整数值的选项进行排序
- 通过js在新选项卡中有条件地打开url
- 在Jquery detachment()和appendTo()之后定位元素
- 按照选项卡索引的顺序循环一个jQuery选择
- 困在逻辑中试图定位动态的东西
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- 如何在CSS或Javascript中定位选定的属性(在HTML选项中)
- 使用此 javascript 在 IE7 中收到“对象不支持此属性或方法”错误,以及选项卡未正确定位的问题
- 从定位链接直接链接到选项卡
- jQuery UI选项卡:从链接定位动态选项卡
- e.preventDefault仍然在浏览器的新选项卡中加载定位链接
- 如何将jQuery功能选项卡脚本从不显示改为绝对定位
- 滑动选项卡定位CSS
- 标记定位错误,某些选项被禁用
- 自动激活定位的选项卡