预先没有免费输入

时间:2015-11-24 11:44:06

标签: javascript jquery twitter-bootstrap

我使用bootstrap-typehead函数来实现自动完成框。

  $(function() {
    var availableTags = [ "test1", "test2","test3",....];


    $('.typeahead').typeahead({
      source: availableTags
    });
  });
});

虽然这有效,但自由文本也可以作为输入。我注意到很多人都想要这个功能而且对解决方案没有很好的解释。修改此项的最佳方法是什么,以便条目仅与availableTags的条目匹配?例如如果"你好"进入后,它被清除。

我希望此功能与普通下拉列表相反的原因是有数千个可用标记。滚动一长串列表似乎不合逻辑。感谢

1 个答案:

答案 0 :(得分:3)

尝试这样的事情:

$(function(){
    var availableTags = [ "test1", "test2","test3",....]; // all data required for typeahead

    $(".typeahead").typeahead({
                        source: availableTags
                    })
                    .blur(function(){
                        if(availableTags.indexOf($(this).val()) === -1) 
                            $(this).val("");
                    });
});

当用户点击远离输入(失去焦点)时,会检查该值是否在数组availableTags内,如果不是,则设置输入的值要清空。