最佳答案
只需使用 change
事件即可查看 ui.item
是否已定义:
/* snip */
change: function (event, ui) {
if (!ui.item) {
this.value = 'Any City';
}
}
更新示例: http://jsfiddle.net/FL7Nx/
根据下面的评论,如果您想动态确定默认值应返回什么,您可以将该值分配给小部件的 _create
方法中的选定选项:
_create: function() {
var self = this,
select = this.element.hide(),
selected = select.children(":selected"),
value = selected.val() ? selected.text() : "",
defaultValue = value;
然后在change
函数中:
change: function (event, ui) {
if (!ui.item) {
this.value = defaultValue;
}
}
关于jquery-ui - 如何允许使用 jquery ui 组合框仅选择预定义选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8195230/