我使用jquery在combobox上给出的示例创建了一个小部件。我正在设计它,所以我创建/修改了示例。
当我使用原始控件更改值时,更改事件正在运行,但它不在另一个上。我不明白为什么更改事件不会触发我创建的新控件,实际上它会改变值本身。
我发现我可以在线自动完成选择(ln38)
上触发一些代码autocompleteselect: function (event, ui) {
ui.item.option.selected = true;
this._trigger("select", event, {
item: ui.item.option
});
// alert('I can put some codes here');
},
但我想触发选择器的更改事件,以便用户运行脚本更容易。
知道如何解决这个问题吗?
答案 0 :(得分:1)
这是因为源元素的值是使用脚本以编程方式完成的,该脚本不会触发change事件(只有在用户事件完成更改时才会触发)。
一种可能的解决方案是触发像
这样的变更事件this.element.trigger("change", event, {
item: ui.item.option
});
演示:Fiddle