jquery-ui - 如何允许使用 jquery ui 组合框仅选择预定义选项?

标签 jquery-ui jquery-ui-autocomplete

Here是我当前的 jquery ui 组合框。它使用远程数据源。 Here是对标准组合框应用相同方法的方法。但我不确定如何将其应用到我的案例中。

最佳答案

只需使用 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;
    }
}

更新示例: http://jsfiddle.net/jmdx4/

关于jquery-ui - 如何允许使用 jquery ui 组合框仅选择预定义选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8195230/

相关文章:

jQuery UI - 删除焦点上的橙色选项卡边框

JQueryUI 拖放教程在 IE9 和 IE7 中破解

jquery - 在 asp.net mvc 中使用 jquery 自动完成文本框的问题

jquery - 无法多次重写 jQuery UI 自动完成 renderItem 方法

javascript - 使用 Ajax 请求作为源数据的 Jquery 自动完成搜索

javascript - 获取在自动完成中选择的 onSelect 中的值

javascript - 如何显示 jQuery 自动完成响应并选择它?

javascript - 在 jQuery 中, `this.element` 和 `this.element[/* some number */]` 有什么区别?

jquery-ui - 无法在 plupload 中传递附加参数

jquery - 向 jQuery-UI 1.8.1 添加自动填充功能