Jquery自动填充 - 仅允许自动填充建议

时间:2016-05-04 08:57:21

标签: jquery jquery-autocomplete

我将这个jQuery Autocomplete - 框架用于输入字段(输入三个字符后出现建议),我只允许输入自动完成建议。

我的第一个方法是:

var nameSelectedOverSearch = false;
var availablePersons = [];
$(function() {
    $("#anspr").autocomplete({
        source: availablePersons,
        select: function(event, ui) {
            nameSelectedOverSearch = true;
        }
    });
});

用户必须单击自动填充建议,但之后用户仍然可以更改输入。 是否有可能只允许自动完成输入?

2 个答案:

答案 0 :(得分:1)

您可以使用这个真棒库https://harvesthq.github.io/chosen/。我做了一个完整的自动填充示例,并选择比较:https://jsfiddle.net/Tintin37/uw52snsq/

我认为它完全符合您的需求。

相关代码:

    $("#tags").autocomplete({
      source: availableTags
    });

    $.each(availableTags,function(i,e){
             $("#choosen").append('<option>'+e+'</option>');   
    });
    $("#choosen").chosen({search_contains: true});

答案 1 :(得分:0)

您需要以这种方式使用“keyup”功能,您可以验证任何字母,并且只允许您列出的选项:

$('#tags').autocomplete({
  autoFocus: true,
  source: availableTags 
  }).keyup(function() {
    var isValid = false;
    for (i in availableTags) {
        if (availableTags[i].toLowerCase().match(this.value.toLowerCase())) {
            isValid = true;
        }
    }
    if (!isValid) {
        this.value = previousValue
    } else {
        previousValue = this.value;
    }
});