select2 异步 多批次加载数据

            $(".select2").select2({
                language: "zh-CN",
                allowClear: true,
                width: "350px",
                height:"20px",
                placeholder: "请选择授权对象",
                ajax: {
                    url: "userList.json",
                    dataType: 'json',
                    delay: 250,
                    data: function (params) {
                        params.offset = 25;
                        params.page = params.page || 1;
                        return {
                            name: params.term,
                            page: params.page,
                            offset: params.offset
                        };
                    },
                    cache: true,
                    processResults: function (res, params) {
                        if (res.success) {
                            var users = res.result.data;
                            var options = [];
                            for (var i = 0, len = users.length; i < len; i++) {
                                var option = {
                                    "id": users[i]["userId"],
                                    "text": (users[i]["departmentName"] + " " + users[i]["realName"] + " " + users[i]["position"])
                                };
                                options.push(option);
                            }

                            return {
                                results: options,
                                pagination: {
                                    more: (params.page * params.offset) < res.result.total
                                }
                            };
                        }
                    },
                    escapeMarkup: function (markup) {
                        return markup;
                    },
                    minimumInputLength: 1
                }
            });

    @ResponseBody
    @RequestMapping(value = "userList")
    public ServiceResult<JSONObject> selectAuthorizationUserList(HttpServletRequest request, ExtUserModel form) {
        LogUtil.start(THIS_CLASS.toString(), "userList");
        String name = request.getParameter("name");
        Integer offset = Integer.valueOf(request.getParameter("offset"));
        Integer page = Integer.valueOf(request.getParameter("page"));
        if (page == 1) {
            page = 0;
        } else {
            page = (page - 1) * offset;
        }
        form.setRealName(name);
        form.setLimitStart(page);
        form.setLimitEnd(offset);
        JSONObject data = new JSONObject();
        ServiceResult<List<ExtUserModel>> result = this.authorizationService.selectAuthorizationUserList(form);
        data.put("data", result.getResult());
        data.put("total", this.authorizationService.countUserLength().getResult());
        ServiceResult<JSONObject> resultData = new ServiceResult<JSONObject>();
        resultData.setResult(data);
        resultData.setSuccess(true);
        LogUtil.end(THIS_CLASS.toString(), "userList");
        return resultData;
    }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值