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

时间:2016-02-22 12:47:07

标签: javascript arrays html5 search

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

基本上我需要 - 如果搜索== arrayelement [i]显示[i]其他...有关从哪里开始的任何指导?

3 个答案:

答案 0 :(得分:1)

这是代码

<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<script>
    var arr = new Array(10);
    arr = [23,14,535,346,54,65,2,1,3,5];
    function search(){
        var i=0;
        var key = document.getElementById("key").value;
        while(i<10){
            if(arr[i]==key){
                document.getElementById("result").value = key;
                break;
            }
            i++;
        }
        if(i==10){
            document.getElementById("result").value = "Not Found!";
        }
    }
</script>
</head>
<body>
    <input type="text" id="key"/>
    <input type="button" onclick="search()" value="Go"/><br/>
    <input type="text" id="result"/>
</body>
</html>

答案 1 :(得分:0)

你的问题有点令人困惑,但我猜你有一个名字数组,你有一个搜索输入字段,你想搜索数组然后结果(可能是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>

如果你想让每个条目都有自己的网址并允许部分搜索更有趣,请尝试这样的事情:

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>

答案 2 :(得分:0)

function myfun() {
  var search_string = document.getElementById('search_string').value;
  var arrayelement = ["item1","item2","item3","item4","item5"];
  for (i=0;i<arrayelement.length;i++) {
	if(search_string==arrayelement[i]){
		var flag=1;
	}
  }
	if(flag==1){
  document.getElementById('demo').innerHTML = "Item found";
	}
	else {
  document.getElementById('demo').innerHTML = "Item not found";
	}
}
<input type="text" id="search_string" />
<button onClick="myfun()">Start</button>
<p id="demo"></p>