是否可以使用一个 id 拥有多个高图表
Is it possible to have multiple highcharts with one id?
我在haml
有以下情况:
#ownershipChart{"chart-data" => [["pie1", 100], ["pie2", 150], ["pie3", 200]]}
#ownershipChart{"chart-data" => [["pie4", 45], ["pie5", 50], ["pie6", 20]]}
在 JavaScript 中:
$(function(){
$('#ownershipChart').highcharts({
chart: {
type: 'pie'
},
title:{
text: 'Ownership'
},
plotOptions:{
pie:{
allowPointSelect: true
}
},
series: [{
type: 'pie',
name: 'Ownership',
data: $('#ownershipChart').attr('chart-data')
}]
});
});
如图所示,我正在尝试创建一个同时应用于这两个图表的 highcharts 函数。首先,我知道这是不正确的,因为$('#ownershipChart').attr('chart-data')
没有返回任何内容。其次,这是正确的思考方式吗?我目前正在动态生成haml
div id="ownershipChart"
因此每次动态生成一个 highcharts js 对象也感觉不对。
当它们所附加到的div
id
未知并且因用户而异时,生成多个高图表的最佳方法是什么?
您可以改用一个类,并循环遍历每个实例,随时创建图表。像这样:
$(function () {
$('.ownershipChart').each(function() {
$(this).highcharts({
chart: {
type: 'pie'
},
title: {
text: 'Ownership'
},
plotOptions: {
pie: {
allowPointSelect: true
}
},
series: [{
type: 'pie',
name: 'Ownership',
data: $(this).attr('chart-data')
}]
});
});
});
请注意,data
属性由对 this
的引用填充,这意味着数据将从迭代中的当前元素读取。
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- difference between '$(<%= DDL.ID %>) & $('
- 使用Javascript获取所选选项ID
- 根据id将json数组组合为一个json数组
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 对id以某个字符串开头的元素进行计数
- 如果元素's的ID以数字开头
- 通过id和class属性获取元素
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 使用当前日期生成随机id
- Javascript-ID冲突的几率
- Href:当前DIV中的目标ID
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Javascript复选框函数:;缺少:在属性id之后"
- Twitter引导程序Typeahead-Id&标签
- 如何与特定ID交谈
- 我在哪里可以找到图片的Instagram媒体ID(拥有访问令牌并关注图片所有者)
- 是否可以使用一个 id 拥有多个高图表
- 如何在CRM Online 2013中拥有唯一的ID号
- 拥有平滑滚动到 id 的现有 JavaScript,希望帮助为特定 id 添加例外