如何更改时区选择器值时收到通知?

时间:2018-06-11 19:07:57

标签: javascript jquery events

我正在使用timezone-picker来选择我的时区,到目前为止,它工作得非常好。

然而,一个问题是我无法说服它在使用quickLink按钮之一时更改值。

您可以转到demo并在控制台中粘贴此代码来尝试此操作:

jQuery("#map select").on("change", function(){
    console.log(jQuery('#map').data('timezonePicker').getValue()[0]);
});

如果你这样做,你会发现通过下拉列表更改值的工作正常,但如果使用下拉列表右侧的按钮,它将不会触发处理程序。我猜这是因为代码在设置值时不是calling .trigger,是的,我可以修改Javascript 我自己但这似乎是错误的做法......有没有其他方法可以在此值发生变化时收到通知?

1 个答案:

答案 0 :(得分:1)

您可以挂钩map:clicked事件(如源代码中定义的diggin')。

在演示页面中查看此代码:

jQuery("#map").on("map:clicked", function(){
    console.log(jQuery('#map').data('timezonePicker').getValue()[0]);
});

唯一的区别是你需要将它挂钩到初始化元素(#map)。主select元素上没有触发器。已定义的绑定事件为map:clicked。每次更改所选选项时,它都会执行,单击地图或选择其中一个快速链接。

希望它有所帮助。