繁体   English   中英

jQuery.map()从select2 ajax调用解析结果

[英]jQuery.map() to Parse results from select2 ajax call

我有以下select2 ajax调用。 如何使用jquery $ .map()解析返回的json结果。 从用户数组中,我需要获取文本和值结果。 从寻呼机数组中,我需要获取TotalItemCount。 我下面的内容似乎无效,即搜索结果似乎未显示在选择列表中。 也没有显示控制台错误,因此我不确定我在做什么错。

var url = '@Url.Action("GetEmployees", "Employees")';
var pageSize = 20;

$(".js-data-example-ajax").select2({
    ajax: {
        url: url,
        dataType: 'json',
        delay: 250,
        data: function (params) {
            return {
                term: params.term, // search term
                page: params.page
            };
        },
        processResults: function (data, params) {
            params.page = params.page || 1;

            return {
                results:  $.map(data, function (users) {
                    return {
                        text: users.Text,
                        id: users.Value
                    }
                }),
               pagination: {
                    more: (params.page * pageSize) < data.pager.TotalItemCount
                }
            };
        },
        cache: true
    },
    minimumInputLength: 2,
    placeholder: "-- Select --",
    allowClear: true
});

返回的json如下:

 {
   "pager":{
      "PageCount":1,
      "TotalItemCount":1,
      "PageNumber":1,
      "PageSize":20,
      "HasPreviousPage":false,
      "HasNextPage":false,
      "IsFirstPage":true,
      "IsLastPage":true,
      "FirstItemOnPage":1,
      "LastItemOnPage":1
   },
   "users":[
      {
         "Disabled":false,
         "Group":null,
         "Selected":false,
         "Text":"Joe Blogs",
         "Value":"97306aa4-d423-4770-9b45-87a701146b10"
      }
   ]
}

我是对的。 我没有正确使用jQuery.map()。 应该如下:

 results:  $.map(data.users, function (users) {
                return {
                    text: users.Text,
                    id: users.Value
                }
            }),

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM