Javascript HTML5 数组搜索并从 HTML5 文本框返回(如果在数组中)

标签 javascript arrays html search

我试图在文本框(html5)中输入名称,在数组(javascript)中搜索值,并从文本框中返回值(如果它在数组中)。

基本上我需要-- if search == arrayelement[i] display [i] else...有关从哪里开始的任何指导?

最佳答案

你的问题有点令人困惑,但我猜你有一个名称数组,并且有一个搜索输入字段,你想要搜索该数组,然后搜索结果(可能是一个 div?)。

var names = ["john", "bob", "kayla", "sam", "elena", "josh", "andrew", "maria"];

function search(){
  var searchFor = $("#search-input").val();
  var searchIndex = names.indexOf(searchFor);
  if(searchIndex == -1)
    $("#search-results").html("no results");
  else
    $("#search-results").html(searchFor);
}
$("#search-input").on("keyup", search);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='search' id='search-input' />
<div id='search-results'></div>

如果您想让每个条目都有自己的 url 并允许部分搜索,请尝试这样的操作:

var people = [
  {
    name: "John Smith",
    url: "http://example.com/johnsmith"
  },
  {
    name: "John Johnson",
    url: "http://example.com/johnjohnson"
  },
  {
    name: "Bob Thompson",
    url: "http://example.com/bobthompson"
  },
  {
    name: "Smith Sanchez",
    url: "http://example.com/smithsanchez"
  },
  {
    name: "Bob Sanchez",
    url: "http://example.com/bobsanchez"
  }
];
$("#search-input").on("keyup", function(){
  var searchFor = $("#search-input").val().toLowerCase();
  var results = [];
  for(var i=0;i<people.length;i++){
    if(people[i].name.toLowerCase().indexOf(searchFor) > -1)
      results.push("<a href='"+people[i].url+"' target='_blank'>"+people[i].name+"</a>")
  }
  if(results.length == 0)
    $("#search-results").html("No Results Found");
  else
    $("#search-results").html(results.join("<br>"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='search' id='search-input' placeholder='Search' />
<div id='search-results'></div>

关于Javascript HTML5 数组搜索并从 HTML5 文本框返回(如果在数组中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35554108/

相关文章:

javascript - Angularjs 多个指令 [gridsection, gridsection] 在 : <div gridsection =""> 上请求模板

c - 声明指向从结构定义中接受结构的函数的指针?

jquery - 寻求优化以下 JQuery 代码

html - 转换在 jQueryMobile 页面导航上闪烁

javascript - (Jquery) 从 load[ed]() HTML 元素样式中获取背景图像路径

javascript - 使用 JavaScript,以便它使用闭包返回响应

javascript - async.series 不是串行执行操作。为什么?

javascript - 鼠标悬停时显示框

javascript - 搜索从 api 调用返回的 json

javascript - 通过类名 [JavaScript] 的 PART 获取元素