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