我正在使用jquery ui自动完成作为我的实时搜索栏。我想要的是,假设用户在搜索栏中输入了一些文本并且没有得到所需的结果,我想捕获用户输入的任何内容。下面是我正在执行与自动完成相关的所有操作的js文件。
$(window).load(function() {
//$("#inputdefault").easyAutocomplete(options);
var dynamicProperties = ["contains some of the properties related to my project"];
$( "#inputdefault" ).autocomplete({
source: dynamicProperties
});
});
如何实现这一点??如果需要更多信息,请告诉我。
firs 检查 jquery 是否正在加载
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
其次不要使用此$(window).load(function() {
$(function() {
//$("#inputdefault").easyAutocomplete(options);
var dynamicProperties = ["contains some of the properties related to my project"];
$( "#inputdefault" ).autocomplete({
source: dynamicProperties
});
});
https://jsfiddle.net/ctz02p5g/
这是代码:
(function() {
//$("#inputdefault").easyAutocomplete(options);
var dynamicProperties = ["contains some of the properties related to my project"];
$("#inputdefault").autocomplete({
source: function(response) {
var store = $(this).val(); //stores the value entered so it can be returned back when no result is found.
if (dynamicProperties.length > 0 ){
response($.map(dynamicProperties, function(value, key) {
return {
var1: value[0]
//return the properties from dynamicProperties
};
}));
}
else {
var results = [{
var1: 'result not found',
var2: store.slice(-10)
}];
response(results);
}
}
});
基本上,我们在检查动态属性是否加载时发送回响应。