jQuery UI 自动完成 : return "nothing found" when no search matches occur

标签 jquery search

这里是新手编码员。我有一个带有 jQ​​uery 自动完成功能的搜索栏,通过本地 json 数组进行搜索。当没有找到匹配项时,我想返回一个字符串“Nothing found”。

我已经尝试过 $.grep 中的 if 语句,但到目前为止没有任何效果:

$("#div_name").autocomplete({
  appendTo: ".custom-autocomplete",
  source: function (request, response) {
  var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
  response($.grep(array, function(value) {

  var not_found = 'Nothing found.';

     if (matcher.test(value.value).length && matcher.test(value.nickname).length == 0) {
       return not_found;
     }
     else {
    return matcher.test(value.value)
       || matcher.test(value.nickname);
  }

  }));
},

感谢您的帮助!! :)

最佳答案

我认为您想在此处测试“OR”(||):

if (matcher.test(value.value).length && matcher.test(value.nickname).length == 0) {
   return not_found;
 }

仅当 value.valuevalue.nickname 都没有值时才为 true。 (您还没有显示您的数据,所以我在这里猜测)

 if (matcher.test(value.value).length || matcher.test(value.nickname).length == 0) {
   return not_found;
 }

如果其中一个不为真,则匹配,如果 value.value 确实有长度,则立即退出。

关于jQuery UI 自动完成 : return "nothing found" when no search matches occur,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4742110/

相关文章:

带有变量的 jQuery 分区

jquery 星级评定在表中不起作用

python - python 列表的子集

search - 如何在搜索容器中添加 SELECT ALL 功能?

search - 在文件中查找唯一字符

search - 通过复杂目录(代码、文件、php 脚本等)诊断缓慢的 grep 或 ack 搜索,以便更快地重复使用

javascript - 我应该把 JavaScript 代码放在哪里?

javascript - iOS 8 css 旋转元素消失

javascript - 正则表达式 - 替换 HTML 字符串中不包含在 HTML 标记中的文本

search - 用于在 vim 中进行 inc-search 的 Emacs 样式突出显示