我有一个带有标签的动态页面,我目前正在向页面添加2个jqPlot项目,但情况可能并非总是如此。它可能是一个,三个,四个或更多...
如果选项卡未激活,则jqPlot不会立即呈现。样本说要解决这个问题...运行选项卡激活...
$('#tabs').tabs({ activate : function(event, ui) {
plot47.replot();
}});
如果页面上只有一个图表,这样可以正常工作。
如果页面上有两个图表,则运行2批激活只运行最后一个。第一个被忽略。
不幸的是,我无法知道创建页面时有多少个图表,这意味着我无法将所有的replot()调用放在一个激活中。
那么,如何将多个图添加到一个激活中,或者如何运行多个激活?
谢谢。
答案 0 :(得分:0)
var fns = [];
$("#tabs").tabs({
activate: function (event, ui) {
var active = $('#tabs').tabs('option', 'active');
$("#tabid").html('the tab id is ' + $("#tabs ul>li a").eq(active).attr("href"));
for (i = 0; i < fns.length; i++)
{
eval(fns[i]);
}
}
}
);
function first()
{
alert('1');
}
function second()
{
alert('2');
}
fns.push("first()");
fns.push("second()");
我还是javascript的新手,但至少这可以解决我的问题。我将在每个图形中创建函数,然后将函数名称推入数组,然后评估函数名称。该函数只需调用replot()