jquery更新后选择onchange事件丢失

时间:2017-07-21 15:48:58

标签: jquery

我有一个选择的multiselect,它会根据另一个多选项更新新值。在另一个选择上有一个onchange事件更新所选择的事件;新的价值观和一切都来自AJAX。

现在,在更新所选内容后,它将失去onChange事件。

我尝试在更新后将其添加回来,但这并不起作用。

$('#Metrics').trigger("chosen:updated");
$('#Metrics').on('change', function(evt, params) {
    graphit();
});

我也试过了实例化

$('#Metrics').on('change', function(evt, params) {
    graphit();
});

$('Metrics').on('chosen:updated', function(evt, params) {
    graphit();
});

但这不起作用

1 个答案:

答案 0 :(得分:0)

因此,您可以将事件触发器的范围设置为高于jQuery中的控件本身。更新控件然后不会销毁事件处理程序,因为它没有绑定到控件本身。由于您在示例中通过ID引用它,因此您不会冒无意中绑定到新范围内其他元素的风险。

示例

 $(document.body).on('chosen:updated', '#Metrics', function(evt, params) {
     graphit();
 });

jQuery .on documentation