使用select2分批异步加载大量数据

//select2选项
                        var select2Conf = {"allowClear":allowClear,width:"100%"};
                        //select2使用data list,还是ajax
                        if(select2Data.length<=100){
                           select2Conf.data = select2Data;
                        }
                        else{
                            select2Conf.ajax = {
                                url:Search_Url,
                                dataType:"json",
                                delay:250,
                                type:"POST",
                                data:function(params){
                                    var cols = {};
                                    cols[elem.dictCodeKey]=1;
                                    cols[elem.dictNameKey]=1;
                                    var orderby = {};
                                    orderby[elem.dictNameKey]='asc';
                                    
                                    var whereClause = {type:1};
                                    whereClause[elem.dictNameKey] = params.term;

                                    var pageLength = 10;
                                    var postWhere= {
                                        where : whereClause,
                                        order : orderby,
                                        page:{start:(params.page-1)*pageLength || 0,length:pageLength}
                                    };

                                    return {"where":JSON.stringify(postWhere)};

                                },
                                cache:true,
                                processResults: function (res, params) {
                                    var list = res["data"];
                                    var options = [];
                                    for(var i= 0, len=list.length;ilist.length
                                        }
                                    };
                                },
                                escapeMarkup: function (markup) { return markup; },
                                minimumInputLength: 1
                            }
                        }
                        var $sel2=$elem.select2(select2Conf);

 

你可能感兴趣的:(javascript)