郁闷,被坑了3个小时,最后发现只一个函数就解决 心中N只草拟吗奔腾而过有木有
有这样一个需求,根据图中选择的天数,然后去后台走不通的查询,最后返回结果给前台,刚开始在echarts中使用了$.post()请求路由,然后返回结果,但是发现只有通过手动去选择别项的时候才会有数据传过来,
于是乎在js中将获取数据的部分单独写在函数中,最后return出去,然后赋值给echarts获取数据的地方,呵呵
我还是太年轻了,echarts代码中根本就拿不到post请求后的数据
转辗反侧,3个小时过去后
百度了N久发现jquery中有一个trigger函数可以预先执行以下定义的事件
html部分
<select class="form_control" id="history">
<option value="0">最近24小时</option>
<option value="1">最近7天</option>
<option value="2">最近30天</option>
</select>
js部分:
$("#history").change(function(){
var selected = $("#history").val();
$.post("/logs/session/count", {"selected": selected}, function(data){
option.series[0].data = data.session_count;
option.xAxis[0].data = data.time_count;
myChart.setOption(option, true);
})
}).trigger("change") //就是这个地方 让它执行一次事件即可