我需要用户在一个领域中键入一个国家,但是一个国家可以以不同的方式命名(例如:“摩尔多瓦”、“摩尔多瓦共和国”、“摩尔多瓦共和国”.)。
这很快就会导致混乱。因此,我决定将用户输入与“官方名称”数组进行比较,并使用jQuery自动完成来解决这个问题。
现在,如果用户输入“摩尔多瓦”,将弹出一个选择框,让他选择正确的语法。
但是没有什么能阻止他单独使用“摩尔多瓦”,因为自动完成是一个建议,用户可以通过不点击它绕过它。
我不想这样,因为它最终也会导致混乱,所以我在这里搜索并找到了一个解决方案:
jquery autocomplete field that REQUIRES a selected value?
看起来是这样的:
$("#country").autocomplete(
{
source: mycountries
change: function(event, ui)
{
if (!ui.item)
{
$("#country").val("");
}
}
});
这是很好的,因为如果用户没有选择自动完成建议,它会清除字段,这样,用户就不可能验证他的表单,除非他有适合国家的语法。
但它仍有一个重大缺陷:
假设用户键入与名称数组相匹配的"France",但决定完全由自己编写,而不单击提示字段:
--当用户离开字段时,同样会被清除。
那么,如果用户自己的条目与建议相匹配,那么如何通过不清除字段来使这个脚本工作呢?
发布于 2013-07-15 00:53:02
我(我想)找到了它:
change: function(event, ui)
{
var myval=$("#country").val();
if($.inArray(myval,mycoutries) == -1)
{
$("#country").val("");
}
}
到现在为止还好。
https://stackoverflow.com/questions/17645210
复制相似问题