【问题标题】:Check if the value of textboxt exists in Typeahead检查 Typeahead 中是否存在文本框的值
【发布时间】:2017-03-21 05:20:45
【问题描述】:

当用户在我的文本框中键入时,我有这行代码将获取我数据库中的所有位置。问题是我想验证用户何时更改我的文本框中的文本并且我的预输入中不存在?

var path = "{{ route('search.location') }}";

$('input.typeahead').typeahead({
    source:  function (query, process) {
        return $.get(path, { query: query }, function (data) {
            return process(data);
        });
    }
}).blur(function () {
    if(source.indexOf($(this).val()) === -1) 
        alert('Not exists');
});

我已经使用.blur 函数进行了一些研究,但我无法让它工作?

ReferenceError: source is not defined

【问题讨论】:

    标签: ajax twitter-bootstrap typeahead.js


    【解决方案1】:

    这是一个本地数据示例。如果查询至少匹配一项,则布尔变量 something 设置为 true。

    $( document ).ready(function() {
    
    var data = [
      {value: "Alabama"},
      {value: "Delaware"},
      {value: "Maine"}
    ];
    
    var somethingFound = false;
    
    $("#the-basics .typeahead").typeahead(
    {
      minLength: 1,
      highlight: true 
    },
    {
      source: function(query, syncResults, asyncResults) {
          // use query to filter data
          var filteredData = data.filter(function(e){
            return e.value.toLowerCase().startsWith(query.toLowerCase());
          });
          console.log(filteredData.length);
          somethingFound = filteredData.length > 0;
        // return filtered data
        syncResults(filteredData);
       }
    }).blur(function(){
      if (!somethingFound) {
        alert('nothing found');
      }
    });
    });
    

    see also in Plunker

    【讨论】:

    • 感谢您确认我的回答。能否请您也支持我的回答?
    猜你喜欢
    • 1970-01-01
    • 2010-12-06
    • 2019-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    相关资源
    最近更新 更多