0

我需要用户在字段中键入一个国家,但一个国家可以以多种方式命名(即:“摩尔多瓦”、“摩尔多瓦共和国”、“摩尔多瓦共和国”......)。

这很快就会导致混乱。所以我决定将用户输入与“官方名称”数组进行比较,并使用 jQuery 自动完成来解决这个问题。

现在,如果用户键入“Moldova”,则会弹出一个选择框,让他选择正确的语法。

但是没有什么能阻止他单独使用“Moldova”,因为自动完成是一个建议,用户可以通过不点击它来绕过它。

我不希望这样,因为它最终也会导致混乱,所以我在这里搜索并找到了解决方案:

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

它看起来像这样:

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

这很好,因为如果用户没有选择自动完成建议,它会清除该字段,这样,用户可能无法验证他的表单,直到他拥有该国家/地区的正确语法。

但它仍然有一个重大缺陷:

假设用户键入“France”,它与名称数组匹配,但决定自己编写,而不是单击提示它的字段:

当用户离开该字段时,它将被清除。

那么,如果用户自己的条目与建议匹配,我怎样才能通过不清除该字段来使该脚本正常工作?

4

1 回答 1

1

我(想我)找到了它:

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

到目前为止,一切都很好。

于 2013-07-15T00:53:02.510 回答