如果没有结果匹配键,则显示所有项目

问题描述:

在JQuery自动完成中,如果没有匹配输入的键,我想显示所有结果。此外,我需要将minLength限制为。如果没有结果匹配键,则显示所有项目

这是我的代码。我检查了ui.content.length === 0并触发了$(this).autocomplete('search', $(this).val()),但它不起作用。

$("#example").autocomplete({ 
     source: availableTags, 
     minLength:3, 
     response: function(event, ui) { 
     if (ui.content.length === 0) { 
      $(this).autocomplete('search', $(this).val()) 
     } 
     } 
}); 
+0

要澄清,如果有部分匹配,您希望它显示结果。如果有0个匹配,你希望它显示所有可能的结果? – Twisty

这是给你一个潜在的解决方案:

$("#tags").autocomplete({ 
    source: availableTags, 
    minLength: 3, 
    response: function(event, ui) { 
     if (ui.content.length === 0) { 
     $.each(availableTags, function(i, v) { 
      ui.content.push({ 
      label: v, 
      value: v 
      }); 
     }); 
     } 
    } 
    }); 

工作例如:https://jsfiddle.net/Twisty/7gpLtq6c/

如果它是空的,我们只是把所有潜在的结果返回到数组。