Select2遠程請求後臺數據方法

/**
 * @param dom-節點
 * @param url-請求url
 * @param isMultiple-是否多選
 * @param isPagination-是否分頁
 */
function initSelect2(dom,url,isMultiple,isPagination){
	$(dom).select2({
        language : 'zh-CN',//轉爲中文版
        placeholder: "請選擇...",//默認顯示文案:標籤
        width: "270px",
        multiple: isMultiple,
        allowClear: true,
        ajax: {
            url: url,
            dataType: 'json',
            cache: true,
            delay: 250,
            type: 'post',
            data:function (params) {
            	if(isPagination){
            		return {
             	       key : params.term, // 搜索框內輸入的內容,傳遞到Java後端的parameter爲username
             	       pageNumber : params.page,// 第幾頁,分頁
             	       pageSize : 10// 每頁顯示多少行
                 	};
            	}
            	return {
         	       key : params.term
             	};
            },
            processResults: function (data,params) {//結果處理
            	var result = data.result.rows;
            	if(isPagination){
                    var total_count = data.result.total;
                	params.page = params.page || 1;
                    return {
                        results: result,
                        pagination: {
                        	more : params.page < total_count
                        }
                    };
            	}
                return {
                    results: result
                };
            }
        }
    });
}


//編輯回顯數據
function echoSelect2(dom,value){
    $.each(value,function(index,value){
        $(dom).append(new Option(value.text, value.id, false, true));
    });
    $(dom).trigger("change");
}

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