Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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 在下拉菜单jquery autocomplete中显示两个值_Javascript_Jquery_Jquery Ui_Jquery Ui Autocomplete - Fatal编程技术网

Javascript 在下拉菜单jquery autocomplete中显示两个值

Javascript 在下拉菜单jquery autocomplete中显示两个值,javascript,jquery,jquery-ui,jquery-ui-autocomplete,Javascript,Jquery,Jquery Ui,Jquery Ui Autocomplete,我正在使用jqueryautocomplete制作一个搜索功能,其中数据来自json。 搜索应该显示一个人的全名,但由于名字和姓氏在json的两个不同字段中,我发现很难在自动完成下拉列表中同时显示名字和姓氏 当搜索其中一个值并在下拉列表中显示全名时,是否有可能将这两个值连接在一起 JSON示例: { "GetContactsResult": [ { "FirstName": "John", "LastName": "Doe", "L

我正在使用jqueryautocomplete制作一个搜索功能,其中数据来自json。 搜索应该显示一个人的全名,但由于名字和姓氏在json的两个不同字段中,我发现很难在自动完成下拉列表中同时显示名字和姓氏

当搜索其中一个值并在下拉列表中显示全名时,是否有可能将这两个值连接在一起

JSON示例:

{
    "GetContactsResult": [
    {
        "FirstName": "John",
        "LastName": "Doe",
        "LocalNumber": "555000",
        "MobileNumber": "555000"
            },
            {
                "FirstName": "Jane",
                "LastName": "Doe",
                "LocalNumber": "555000",
                "MobileNumber": "555000"

                    }]}
以下是我的代码/html:

        <!DOCTYPE html>
    <html>
    <head>
        <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
        <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
        <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
        <script type="text/javascript">



        $(document).ready(function(){
            $("#typedText").autocomplete({
                source: function ( request, response ) {
                    $.ajax({
                        url: "data.json",
                        dataType: "json",
                        success: function (data) {
                            var sData = data.GetContactsResult.filter(function(v) { 
                                var re = new RegExp( request.term, "i" );
                                return re.test(v.FirstName);

                            });

                            response( $.map( sData, function ( item ) {
                                return {
                                    label: item.FirstName
                                };
                            }));
                        }
                    });
                },
                minLength: 2,
            });
        });

        </script>
        <meta charset="utf-8">
        <title>click function</title>
    </head>
    <body>
        <input  id="typedText">
        <input type="button" id="getValue" value="Type value">
    </body>
    </html>

$(文档).ready(函数(){
$(“#typedText”).autocomplete({
来源:功能(请求、响应){
$.ajax({
url:“data.json”,
数据类型:“json”,
成功:功能(数据){
var sData=data.GetContactsResult.filter(函数(v){
var re=新的RegExp(request.term,“i”);
返回重新测试(v.FirstName);
});
响应($.map)(sData、功能(项){
返回{
标签:item.FirstName
};
}));
}
});
},
最小长度:2,
});
});
点击功能

因此,为了更清楚地说明这一点,我试图让“John Doe”显示在自动完成中,而不仅仅是“John”。

将完整项对象传递给响应函数

因此,在标签对象中执行以下操作:

label: item.FirstName + " " + item.LastName;

应返回全名。

只需执行
标签:item.FirstName+“”+item.LastName谢谢!!!我之前尝试使用以下标签:item.FirstName+“”+label:item.LastName;。但是你知道如果我先键入姓氏是否可能得到相同的结果吗?最后,是的,但你需要在筛选函数中包含另一个条件。请注意,带+|等的搜索值在你的正则表达式测试中会失败,因为它们不会被转义。好的,我一直在尝试向我的筛选函数添加一个条件,但我必须说我不知道放在哪里。关于regex没有逃脱。在第二个条件起作用之前,我需要这样做吗?
返回re.test(v.FirstName)| re.test(v.LastName)