jquery自动完成字段,需要一个选定的值。

问题描述 投票:0回答:1

我需要用户在一个字段中输入一个国家,但一个国家可以用不同的方式命名(即:"摩尔多瓦","摩尔多瓦共和国","摩尔多瓦共和国"...)。

这可能会在短时间内导致一个混乱的局面.因此,我决定将用户输入与 "官方名称 "的数组进行比较,并使用jQuery自动完成来解决这个问题。

现在,如果用户输入 "摩尔多瓦",会弹出一个选择框,让他选择合适的语法。

但没有什么能阻止他单独选择 "摩尔多瓦",因为自动完成是一个建议,用户可以通过不点击它来绕过。

我不希望这样,因为它最终也会导致一团糟,所以我搜索了一下,在这里找到了一个解决方案。

jquery自动完成字段需要一个选定的值?

它看起来像这样。

$("#country").autocomplete(
{
   source: mycountries 
   change: function(event, ui) 
   {
       if (!ui.item) 
       {
           $("#country").val("");
       }
   }
});

这是很好的,因为如果用户没有选择自动完成建议,它就会清除该字段,这样一来,用户就不可能验证他的表单,直到他有合适的国家语法。

但它仍然有一个很大的缺陷。

比方说,用户输入了 "法国",这与数组中的名字相匹配,但他决定自己写,而不点击建议的字段。

它将被清除 当用户离开该字段时也是如此。

那么,我怎样才能使这个脚本工作,如果用户自己的输入符合建议,就不清除字段?

jquery field user-input jquery-ui-autocomplete
1个回答
1
投票

我(认为我)找到了。

change: function(event, ui) 
{
    var myval=$("#country").val();
    if($.inArray(myval,mycoutries) == -1)
    {
       $("#country").val("");
    }
}

到目前为止,还不错

© www.soinside.com 2019 - 2024. All rights reserved.