Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将名字和姓氏作为两个不同的值合并到一个输入中_Javascript_Jquery_Json_Search - Fatal编程技术网

Javascript 将名字和姓氏作为两个不同的值合并到一个输入中

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

我正在制作一个搜索功能,它通过一个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>

$(文档).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; 
    }
});