Я создал виджет, используя пример 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');
},
Но я хочу вызвать событие изменения селектора, чтобы пользователям было проще запускать скрипты.
Любая идея, как исправить это?
Это связано с тем, что значение исходного элемента выполняется программным образом с использованием сценария, который не запускает событие изменения (он запускается только в том случае, если изменение было выполнено пользовательским событием).
Одним из возможных решений является запуск события изменения, например
this.element.trigger("change", event, {
item: ui.item.option
});
Демо: скрипка