簡體   English   中英

使用javascript使用用戶輸入搜索數組

[英]Searching an Array with the user input using javascript

我想在數組中搜索一個值。 數組是預定義的,帶有一些值。 將出現一個HTML文本框,用於輸入值。 用戶需要輸入值。 如果用戶輸入的值存在於數組中。 它應該顯示“找到有價值的”,否則將找不到。 它應該使用AJAX。 我下面的代碼不起作用。

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<p>Enter a value: <input type="text" id="carInput" onchange="textChanged()"></p>
<p id="onListText"></p>
<script>
var cars = ["abc", "def", "ghi","jkl"];
var textChanged = function(){
  var inputText = $("#carInput").text();
  if($.inArray(inputText, cars) !== -1){
    $("#onListText").text("Value Found");
    return;
  }
}
</script>
</body>
</html>
  var inputText = $("#carInput").text();

這應該是

  var inputText = $("#carInput").val();

因此,您的完整代碼將是:

  var cars = ["abc", "def", "ghi","jkl"]; var textChanged = function(){ var inputText = $("#carInput").val(); console.log(inputText); if($.inArray(inputText, cars) !== -1){ $("#onListText").text("Value Found"); return; } else { $("#onListText").text("Value not Found"); } } 
 <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <p>Enter a value: <input type="text" id="carInput" oninput="textChanged()"></p> <p id="onListText"></p> 

嘗試var inputText = $("#carInput").val(); 而不是var inputText = $("#carInput").text();

並使用oninput事件。

 <html> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> </head> <body> <p>Enter a value: <input type="text" id="carInput" oninput="textChanged()"></p> <p id="onListText"></p> <script> var cars = ["abc", "def", "ghi","jkl"]; var textChanged = function(){ var inputText = $("#carInput").val(); if($.inArray(inputText, cars) !== -1){ $("#onListText").text("Value Found"); return; } } </script> </body> 

$("#carInput").text(); 應該是$("#carInput").val()

text()是選擇所選元素內的所有文本

val()是獲取表單控件的val

 var cars = ["abc", "def", "ghi", "jkl"]; var textChanged = function() { var inputText = $("#carInput").val(); if ($.inArray(inputText, cars) !== -1) { $("#onListText").text("Value Found"); return; } else { $("#onListText").text("Value not Found"); } } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <p>Enter a value: <input type="text" id="carInput" onchange="textChanged()"> </p> <p id="onListText"></p> 

如果只想在失去焦點時觸發事件,只需將text()替換為val()

var inputText = $("#carInput").val(); //replace text() to val()

使用onkeyup(或oninput,由@mohamedrias建議)比onchange事件更適合您的情況。 onchange需要模糊以觸發事件。

<p>Enter a value: <input type="text" id="carInput" onkeypress="textChanged()"></p>

onkeyup pnlkr

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM