【问题标题】:JQuery-UI autocomplete. Automatically accept the word when only one choice is leftjQuery-UI 自动完成。只剩一个选项时自动接受单词
【发布时间】:2014-03-27 15:48:30
【问题描述】:

我有一个带有文本输入字段的 Web 表单,该字段通过 jquery-ui 附加了自动完成小部件。实际上表单本身就是jquery-ui 对话框。当只剩下一个选项时,我正在寻找使表单自动接受自动完成选择的方法。

为了说明。假设用户输入“c”,自动完成小部件建议“猫”和“壁橱”。当用户输入“a”时,小部件应自动将“cat”放入输入字段并自行关闭。

【问题讨论】:

    标签: javascript ajax jquery-ui autocomplete


    【解决方案1】:

    你必须管理一个事件。 正如我在documentation 中看到的,您必须触发更改:

    $( ".selector" ).autocomplete({
      change: function( event, ui ) {}
    });
    

    在变化中,您可以计算您仍然拥有的选项,如下所示:

    var options = $( ".selector" ).autocomplete( "option" );
    

    我看到你会得到类似的东西:

    [{label: 'Option 1'}, {label: 'Option 2'}]
    

    玩一下 split 和 eval 并获得大小。 那么:

    if (size == 1){
     $(".selector").val(options.value);
    }
    

    这当然不是一个工作示例,但它是方法。

    【讨论】:

    • 其实行不通。仅当自动完成小部件模糊时才会触发“更改”事件。我实际上需要它在用户输入时触发。
    • 好吧,做同样的事情,但是去自定义“onclick”事件(和函数)。 并在这个新函数中获取 $('.selector').val() 等等。
    猜你喜欢
    • 2017-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    相关资源
    最近更新 更多