【问题标题】:How to put a different text in jquery ui autocomplete when no search result is found找不到搜索结果时如何在jquery ui自动完成中放置不同的文本
【发布时间】:2016-06-03 05:48:29
【问题描述】:

我正在为我的实时搜索栏使用 jquery ui 自动完成功能。我想要的是,假设用户在搜索栏中输入了一些文本并且没有得到想要的结果,我想捕获他/她输入的任何内容。 下面是我正在执行与自动完成相关的所有操作的 js 文件。

$(window).load(function() {
        //$("#inputdefault").easyAutocomplete(options);
        var dynamicProperties = ["contains some of the properties related to my project"];
$( "#inputdefault" ).autocomplete({
      source: dynamicProperties
  });
  });
这怎么可能实现?? 如果需要更多信息,请告诉我。

【问题讨论】:

  • 你从哪里得到dynamicProperties?哪个事件为您提供动态属性
  • 这里的 dynamicProperties 在我的例子中是一个字符串数组

标签: javascript jquery jquery-ui autocomplete


【解决方案1】:

首先检查 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/

【讨论】:

  • 我没有得到你的答案。我想你只是复制粘贴了我的代码。能否请您详细说明解决方案。
  • 不要使用这部分 $(window).load(function() { change for this $(function() {
【解决方案2】:

代码如下:

    (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);
            }
    }
});

基本上,我们在检查 dynamicProperties 是否正在加载时发回响应。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-05
    • 2015-01-28
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 2018-07-29
    • 2015-08-09
    • 2011-10-12
    相关资源
    最近更新 更多