ajax - 检查 Typeahead 中是否存在文本框的值

标签 ajax twitter-bootstrap typeahead.js

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

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

最佳答案

这是一个本地数据的例子。 bool 变量 某事如果查询至少匹配一项,则设置为 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

关于ajax - 检查 Typeahead 中是否存在文本框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42918969/

相关文章:

javascript - 具有多重折叠的 Bootstrap 导航堆叠标签

css - 如何不继承 css 中的通用选择器 (*)?

javascript - 带有 Bloodhound 的 Typeahead js-this.source 不是一个函数

javascript - Ajax请求传递参数失败

javascript - 单击时使用 jquery 清除列表

php - jQuery UI TABS + AJAX + PHP 动态内容加载

javascript - 如何在 jQuery Ajax 中处理成功函数中传递的数据

javascript - AngularJS 表单验证 : has-error not showing for ng-required fields

jquery - 在 ASP.net MVC 中使用 Twitter Typeahead

html - Typeahead 的灰色输入提示是如何实现的?