Javascript 将名字和姓氏作为两个不同的值合并到一个输入中
我正在制作一个搜索功能,它通过一个JSON对象进行搜索,找到您正在寻找的人,并显示有关他们的一些信息,但目前它只在您分别搜索此人的名字或姓氏时起作用。我希望搜索能够找到这个人,即使我在同一文本字段中键入了名字和姓氏Javascript 将名字和姓氏作为两个不同的值合并到一个输入中,javascript,jquery,json,search,Javascript,Jquery,Json,Search,我正在制作一个搜索功能,它通过一个JSON对象进行搜索,找到您正在寻找的人,并显示有关他们的一些信息,但目前它只在您分别搜索此人的名字或姓氏时起作用。我希望搜索能够找到这个人,即使我在同一文本字段中键入了名字和姓氏 <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script> <scr
<!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>
$(文档).ready(函数(){
$(“#getValue”)。单击(函数(){
var typed=$(“#typedText”).val();
$(函数(){
$.getJSON('json.json',函数(数据){
var search=$(data.GetContactsResult.filter(函数(i,n)){
如果(n.FirstName==键入的| | n.LastName==键入的){
返回n.LastName
}
});
控制台日志(搜索);
for(var i=0;i
我对JavaScript或jQuery没有太多经验,所以请告诉我,我当前的解决方案是否一团糟,是否可以做得更好。在过滤器内部改变你的逻辑
var search = $(data.GetContactsResult).filter(function (i, n) {
if (typed.indexOf(n.FirstName) !== -1 || typed.indexOf(n.LastName) !== -1) {
return n.LastName;
}
});