这里的问题是我想触发对 jquery-ui 的自动完成组合框所做的更改。顺便说一句,这是组合框Jquery UI Combobox
这是我正在尝试的一个小提琴:Js fiddle
谢谢大家。
我加
focus:function(event, ui){
alert(ui.item.value);
},
在您的代码中,这里是示例http://jsfiddle.net/sechou/SuNMV/4/
focus :在焦点移动到一个项目(不是选择)之前, ui.item 指的是焦点项目。焦点的默认操作是将文本字段的值替换为焦点项的值,但前提是焦点事件由键盘交互触发。取消此事件会阻止更新值,但不会阻止菜单项获得焦点。
检查此代码
特别是 if 条件的其他部分
参见DEMO
this.selected = valid = true;
return false;
}
});
if (!valid) {
// remove invalid value, as it didn't match anything
$(this).val("");
select.val("");
input.data("autocomplete").term = "";
return false;
}
}else{
alert(ui.item.value);}
}
})
我还需要额外的事件处理来处理触发更改事件,因为当按下回车键或失去对输入的焦点(点击选项卡或鼠标点击)时,“选定”无法处理。
因此,使用最新版本的 jQuery Autocomplete 脚本,我创建了以下解决方案:DEMO
如何使用 Change 方法:
$("#combobox").combobox({
selected: function (event, ui) {
$("#output").text("Selected Event >>> " + $("#combobox").val());
}
})
.change(function (e) {
$("#output").text("Change Event >>> " + $("#combobox").val());
});
希望这有助于其他需要额外更改事件功能的人来弥补“选定”留下的空白。
最简单的方法:
$( "select" ).combobox({
select: function (event, ui) {
$(this).trigger("change");
}
});