select2 ajax異步加載數據

  • 在select標籤上加"select2"類名
  • 初始化select2
 $("select[name=leaderId]").select2({
            ajax: {
                url: url,
                delay: 250,
                //設置請求參數
                data: function (params) {
                    //設置加載條數
                    params.offset = 30;
                    //默認加載第一頁
                    params.page = params.page || 1;
                    return {
                        //將參數名改爲適配自己服務的
                        name: params.term,
                        pageNum: params.page,
                        pageSize: params.offset
                    };
                },
                cache: true,
                processResults: function (res, params) {
                    //加載請求回調
                    //根據自己的業務代碼判斷請求是否成功
                    if (res.code == "1" && res.data != null && res.data.length > 0) {
                        var length = res.data.length;
                        var users = res.data;
                        var options = [];
                        for (var i = 0, len = users.length; i < len; i++) {
                            //循環取到的數據,並設置到option的value和text
                            var option = {
                                "id": users[i]["id"],
                                "text":users[i]["cnName"]
                            };
                            options.push(option);
                        }
                        return {
                            results: options,
                            pagination: {
                                //判斷是否緩有下一頁(我這是一次加載30條,如果條數等於30條就直接認爲還有下一頁,可根據自己的業務靈活調整)
                                more: length >= 30
                            }
                        };
                    }
                }
            }
        })

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章