【问题标题】:jquery autocomplete that validates entered value验证输入值的jquery自动完成
【发布时间】:2012-03-17 14:34:13
【问题描述】:

我正在使用 jquery 并寻找支持 mustMatch 选项的自动完成功能(用户必须在其中输入存在的项目名称)-> 这不是问题,因为有几个自动完成功能可以这样做。
问题是我需要自动完成功能来测试输入的值。
例如:

  1. 用户输入“英格兰”。
  2. 以“England”打开的列表。
  3. 用户没有点击列表项(不要选择英格兰),而只是在输入之外单击。
  4. 大多数支持 mustMatch 的自动完成都会清除输入,因为用户没有从列表中选择。我正在寻找一个自动完成功能来验证“英格兰”是否存在并采取相应措施。

你知道这样的自动完成插件吗?或者您知道如何修改现有插件来做到这一点?

【问题讨论】:

    标签: javascript jquery jquery-ui autocomplete


    【解决方案1】:

    jQueryUI's autocomplete 可以与Scott González' autoSelect plugin 一起执行此操作,并结合小部件上的change 事件。如果你包含插件,你只需要:

    $("#auto").autocomplete({
        source: ['England', 'Germany', 'Denmark', 'Sweden', 'France', 'Greece', 'Italy'],
        change: function (event, ui) {
            if (!ui.item) {
                this.value = '';
            }
        }
    });
    

    示例: http://jsfiddle.net/qb59C/

    【讨论】:

    • 我已经尝试了很多你的例子!这在jsfiddle.net/qb59C/2 处完美运行,但在我的计算机上无法运行!当编写“英格兰”并在文本输入之外单击时 - 在我的计算机中,输入被清除,而在 jsFiddle 中,数据容器被正确填充。我注意到您没有在 jsFiddle 设置中标记 jQuery UI 1.8.16 框架。自动完成是如何工作的?它是 jquery ui 框架的一部分。 jsFiddle有什么错误吗?是什么让代码在我的计算机(相同的浏览器)下的工作方式不同?
    • @Naor:点击小提琴中的管理资源。你必须包含我提到的插件才能让它工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多