当找不到搜索结果时,如何在 jquery ui 自动完成中放置不同的文本



我正在使用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);
            }
    }
});

基本上,我们在检查动态属性是否加载时发送回响应。

最新更新