请看下面的例子:
http://www.jqplot.com/deploy/dist/examples/hiddenPlotsInTabs.html
在第一个示例中,通过捕获“tabshow”事件并查找选择了哪个选项卡来绘制隐藏图:
$('#tabs').bind('tabsshow', function (event, ui) {
if (ui.index === 1 && plot1._drawCount === 0) {
plot1.replot();
} else if (ui.index === 2 && plot2._drawCount === 0) {
plot2.replot();
}
});
这工作正常,但如果您添加更多选项卡并将绘图移动到其他选项卡,则必须手动更新硬编码的“ui.index”值,我想在我的项目中避免这种情况。
有谁知道以编程方式查找绘图存在于哪个选项卡下的好方法?我想以这样的方式进行编码,无论您有多少个选项卡以及放置绘图的位置都无关紧要。
您必须通过以下方式处理它:
- 从某处获取您想要查找的图表 ID。
- 使用 jQuery 选择图表。
- 使用查找其父级
parent()
方法 --- 这是包含它的选项卡。
- Use
attr('id')
获取其 id 的父级。
这就是我在此处提供的 jsfiddle 示例中展示它的方式。
EDIT
据我了解,您想要获取所选选项卡的索引,这实际上是 ui.index。由于我在中找不到现成的方法jQuery UI
,这就是我实现它的方法(此代码也添加到之前的 jsfiddle 示例中):
var tabIndex = -1;
$("#tabs ul li").each(function(index){
if('#'+tabId === $(this).find("a").attr('href')){
tabIndex = index;
return false;
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)