在选项卡激活时重新绘制多个 jqPlot
Replot multiple jqPlot on tab activate
我有一个带有选项卡的动态页面,我目前正在向该页面添加 2 个 jqPlot 项目,但情况可能并非总是如此。可能是一个、三个、四个或更多...
如果选项卡未激活,jqPlot 不会立即呈现。样本说要解决这个问题...运行 选项卡激活...
$('#tabs').tabs({ activate : function(event, ui) {
plot47.replot();
}});
如果页面上只有一个图表,这很好用。
如果页面上有两个图表,那么 运行宁 2 手只激活最后一个 运行。第一个被忽略。
不幸的是,我无法在创建页面时知道有多少图表,这意味着我无法将所有 replot() 调用都放在一个激活中。
那么,如何将我的多个地块添加到一个激活中,或者我如何 运行 多个激活?
谢谢。
哈,想出了办法...可能不是最漂亮的,但我在 jsfiddle 上做的测试似乎有效...
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()
我有一个带有选项卡的动态页面,我目前正在向该页面添加 2 个 jqPlot 项目,但情况可能并非总是如此。可能是一个、三个、四个或更多...
如果选项卡未激活,jqPlot 不会立即呈现。样本说要解决这个问题...运行 选项卡激活...
$('#tabs').tabs({ activate : function(event, ui) {
plot47.replot();
}});
如果页面上只有一个图表,这很好用。
如果页面上有两个图表,那么 运行宁 2 手只激活最后一个 运行。第一个被忽略。
不幸的是,我无法在创建页面时知道有多少图表,这意味着我无法将所有 replot() 调用都放在一个激活中。
那么,如何将我的多个地块添加到一个激活中,或者我如何 运行 多个激活?
谢谢。
哈,想出了办法...可能不是最漂亮的,但我在 jsfiddle 上做的测试似乎有效...
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()