基于下拉选择更新图表-javascript
Update chart based on dropdown selection - javascript
我需要根据下拉更改更新图表。我不知道如何使用javascript或jquery。
我创建了fiddle来解释我的情况
http://jsfiddle.net/sELst/25/
这是html
<select id="chartType">
<option>bar chart</option>
<option>area chart</option>
<option>line chart</option>
<option>spline chart</option>
</select>
<div id="chart"></div>
JS-
var chart = c3.generate({
data: {
rows: [
['data4', 'data2', 'data3'],
[90, 120, 300],
[40, 160, 240],
[50, 200, 290],
[120, 160, 230],
[80, 130, 300],
[90, 220, 320]
],
type: 'bar'
}
});
这是我的定制,尝试
var currentChart = 0;
var charts = [{
type: 'line',
data: 'data4'
}, {
type: 'area',
data: 'data2'
}, {
type: 'spline',
data: 'data3'
}];
$(function () {
$("#chartType").change(function (evt) {
var chartSelection = $("#chartType").val();
$('#chart').hide().filter(charts + chartSelection).show();
});
});
详细解释
我正在做c3.js图表
在c3中,它有4种图表
- 条形图
- 面积图
- 样条曲线图
- 折线图
每当用户更改下拉列表或选择其他图表时,我都需要更新图表。
C3库链接
http://c3js.org/samples/chart_combination.html
如有任何帮助,我们将不胜感激。
Fiddle
当使用下拉列表时,您应该为每个选项提供一个值属性,这是.val()
稍后将为我们返回的值,也是我们用于指定所需图表类型的值。
<select id="chartType">
<option value="bar">bar chart</option>
<option value="area">area chart</option>
<option value="line">line chart</option>
<option value="spline">spline chart</option>
</select>
然后,使用EventListener
,我们在下拉列表中听取选择,当选择了某个内容时,我们将重新生成该类型的图表。
$("#chartType").change(function (evt) {
var chartSelection = $("#chartType").val();
var chart = c3.generate({
data: {
rows: data,
type: chartSelection
}
});
});
相关文章:
- Javascript更新孙窗口中的表单元素
- 使用Javascript更新输入框中的文本
- 从angularjs中的javascript更新dom
- 如何在不退出javascript的情况下从javascript更新网页
- 如何使用JavaScript更新JSP页面的一些组件
- 如何使用javascript更新csv文件
- 将字符串转换为数组使用javascript更新一个值并返回一个字符串
- 通过javascript更新Django数据库
- JavaScript:更新<选择>给定月份输入的天数列表
- JavaScript更新功能不起作用
- 使用 node.js 和 javascript 更新 HTML 对象
- 使用 JavaScript 更新 Google 云端硬盘上的文件内容
- 使用 JavaScript 更新日期
- 使用JavaScript更新自定义设置-Salesforce
- JavaScript更新一个2MB的JSON文件
- 使用javascript更新数据库
- 表单提交后用Javascript更新表-在IE&边
- 使用javascript更新解析中的行
- 如何使用JavaScript更新iframe的信息
- 使用JavaScript更新网页,无需重新加载网页