【问题标题】:jQuery exclude custom word from Input's AutocompletejQuery从输入的自动完成中排除自定义单词
【发布时间】:2019-01-30 04:56:02
【问题描述】:

如何在 Input 的自动完成中禁用自定义词搜索?

例如,我想阻止使用“学生”一词进行搜索。

我怎样才能从搜索中排除(忽略)这个词,但同时在自动完成和输入的值中保留这个词?

脚本必须像现在一样工作,但自动完成中的单词“Student”除外。

谢谢!

<script>
function myFunction() {
var myNames = [
"Student David 22",
"Student Richard 20",
"Student Henry 21",
"Student Kraig 21",
"Student Jordan 22"
];
$(".myInput").autocomplete({
source: myNames
});
}
</script>


<input type="text" class="myInput" onkeydown="myFunction();" placeholder="Enter name" />

【问题讨论】:

  • 从数据中删除“学生”,然后通过 css 或扩展 _renderItem 方法将其添加到结果中。
  • 不,它不适合。我的剧本中的“学生”只是一个例子。我需要一些功能,比如异常(忽略)自定义词。
  • 那么 jQueryUI 自动完成插件可能不适合您的用例。

标签: jquery search autocomplete


【解决方案1】:

我假设您想在用户搜索单词 Student 时停止搜索或自动完成
像这样使用它

  var myNames = [
     "Student David 22",
     "Student Richard 20",
     "Student Henry 21",
     "Student Kraig 21",
     "Student Jordan 22"
  ];

  $(".myInput").keyup(function(){
     var text = $(this).val();
     if (text.indexOf("Student") == -1 && text.indexOf("student") == -1 ) {
         $(".myInput").autocomplete({
            source: myNames
         });
      }else{
      $(".myInput").autocomplete("destroy");
      }
  });

当搜索“学生”一词时,建议或自动竞争停止
js fiddle

【讨论】:

  • 你能把你的脚本上传到 jsfiddle 上吗?也许我做错了什么。
  • 谢谢!但是脚本仍然不能按需要工作。是的,在输入完整的单词“Student”后自动完成停止。但是在过程中,当我输入这个词时,自动完成功能仍然有效。如何防止即时搜索这个词?
  • 这不是很明显吗?我写道:“我怎样才能从搜索中排除(忽略)这个词”。
  • @Iwww 嗯,不,不是那么明显。 “st”不是“student”,您实际要查找的是从结果集中排除作为给定单词的一部分或全部的匹配项。在执行搜索之前,您基本上需要从结果集中删除给定的排除词。 jQuery UI 没有这样的功能,也没有可以覆盖的方法来提供这样的功能。
  • 如果您输入 student 然后在其后输入任何其他单词,搜索将停止,无论用户在单词 studetn 后的字段中输入什么
猜你喜欢
  • 2012-05-22
  • 2021-11-01
  • 1970-01-01
  • 2012-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多