[英]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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.