我正在制作搜索功能,搜索JSON对象并找到您要查找的人并显示有关它们的一些信息,但是现在只有搜索到该人的名字或者姓氏分开。即使我在同一文本字段中输入名字和姓氏,我希望搜索能够找到该人。
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#getValue").click(function(){
var typed = $("#typedText").val();
$(function(){
$.getJSON('json.json', function(data) {
var search = $(data.GetContactsResult).filter(function (i, n) {
if (n.FirstName === typed || n.LastName === typed) {
return n.LastName
}
});
console.log(search);
for (var i = 0; i < search.length; i++) {
alert(search[i].FirstName + " " + search[i].LastName + " " + search[i].MobileNumber + " " + " " +search[i].StateCaption)
}
});
});
});
});
</script>
<meta charset="utf-8">
<title>click function</title>
</head>
<body>
<input type="text" id="typedText">
<input type="button" id="getValue" value="Type value">
</body>
</html>
我不熟悉JavaScript或jQuery,所以请告诉我目前的解决方案是否一团糟,可以做得更好。
答案 0 :(得分:0)
在过滤器内转动你的逻辑。
var search = $(data.GetContactsResult).filter(function (i, n) {
if (typed.indexOf(n.FirstName) !== -1 || typed.indexOf(n.LastName) !== -1) {
return n.LastName;
}
});