我编写了一段代码,用于通过ajax调用生成的值生成图表。
问题是,select(years)在调用加载后没有改变它的值。奇怪的是,我可以看到它的价值在变化(如果我提醒其当前值),但它根本不会改变。
代码:
$ .load_x函数是一个自定义加载器,但它的行为与普通的$ .getJson调用相同。
答案 0 :(得分:1)
var option = $(this).attr('id').split('option_');
$('#'+option[1]).val(String($cur_val));
setTimeout(function(){$('#'+option[1]).val(String($cur_val))}, 1000);
我不知道你在这里尝试做什么,但基本上,选项变量变为数组[“”,“年”],并且在下一步中你设置$(“#”+选项[ 1])$ cur_val变量的值,这是在#option_years输入中找到的任何内容。
Soooo把它包起来。要摆脱“我的选择不改变它的价值”问题,在这种情况下只需摆脱那些线或者至少让我知道你想在那里做什么:)
编辑:以下是适用于我的示例:http://pastebin.com/sFRT3GJa(在FF和Chrome上测试过)。正如你所看到的那样,我使用的是jQuery 1.6.1,jQuery UI 1.8.16和jqPlot 1.0.0b2_r792。除此之外,我已经移动了$ .load_x的回调函数,并将其命名为 handleJSON 。然后我传递了你在问题中粘贴的JSON数据来模拟$ .load_x函数的成功响应。
答案 1 :(得分:0)
在拨打get_port_graph
电话之前,请先给选择框留出一些时间来更改自拨打电话以来的下拉菜单。它会起作用。
function year_chart(year)
{
settTimeout(function(){
var d = new Date();
get_port_graph("Uitporteringen "+year,d.getMonth(), year,'outport', 'chart1', 'bar');
}, 100);
}