gpt4 book ai didi

javascript - 选择数据集时触发更改 [Amcharts Multiple Data Sets chart]

转载 作者:搜寻专家 更新时间:2023-11-01 04:31:28 24 4
gpt4 key购买 nike

是否可以在他们提供的 amcharts 多数据集图表的选择元素上触发“更改”?

$(".amChartsDataSetSelector").find("select").val("2").trigger("change");

这是我试过的代码,它的作用基本上是将选择选项更改为我选择的选项,但它不会相应地更改图表

是否有任何其他替代方法可以替代此方法?

这是我的 fiddle :

这是 original link到 amcharts 上的图表。

最佳答案

The jQuery .trigger( works only when events are bound using jQuery .on function (or any event binding function).下面是一个简单的例子,向您展示发生了什么。

跳转到下面的#Solution 以跳过此演示。

$(function() {
var el = document.getElementById('checkEvent');
if (el.addEventListener) {
el.addEventListener("change", checkEvent, false);
} else {
el.attachEvent('change', checkEvent);
}

function checkEvent() {
alert('Event Check');
}

$('#changeDDValue').click(function() {
$('#checkEvent').val("2").change();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<select id="checkEvent" style="width: 180px;">
<option value="0">first data set</option>
<option value="1">second data set</option>
<option value="2">third data set</option>
<option value="3">fourth data set</option>
</select>
<button id="changeDDValue">Change DataSet</button>

解决方案:

添加了一个按钮 #change 来设置不同的数据集,如下所示,

$('#change').click(function () {
var selectEl = $(".amChartsDataSetSelector").find("select").val("2").get(0);
fireEvent.call(selectEl, 'change');
});

然后使用下面的 fireEvent 函数来触发 change 事件而不是 trigger('change'),

//http://stackoverflow.com/a/2490876/297641
function fireEvent(eventName) {
var event; // The custom event that will be created

if (document.createEvent) {
event = document.createEvent("HTMLEvents");
event.initEvent(eventName, true, true);
} else {
event = document.createEventObject();
event.eventType = eventName;
}

event.eventName = eventName;

if (document.createEvent) {
this.dispatchEvent(event);
} else {
this.fireEvent("on" + event.eventType, event);
}
}

Fixed jsFiddle

关于javascript - 选择数据集时触发更改 [Amcharts Multiple Data Sets chart],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26562276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com