1. 程式人生 > >AJAX請求資料到select2中

AJAX請求資料到select2中

$.post() 方法使用 HTTP POST 請求從伺服器載入資料。

$(selector).post(URL,data,function(data,status,xhr),dataType)

引數 描述
URL 必需。規定將請求傳送到哪個 URL。
data 可選。規定連同請求傳送到伺服器的資料。
function(data,status,xhr) 可選。規定當請求成功時執行的函式。
額外的引數:
  • data - 包含來自請求的結果資料
  • status - 包含請求的狀態("success"、"notmodified"、"error"、"timeout"、"parsererror")
  • xhr - 包含 XMLHttpRequest 物件
dataType 可選。規定預期的伺服器響應的資料型別。
預設地,jQuery 會智慧判斷。
可能的型別:
  • "xml" - 一個 XML 文件
  • "html" - HTML 作為純文字
  • "text" - 純文字字串
  • "script" - 以 JavaScript 執行響應,並以純文字返回
  • "json" - 以 JSON 執行響應,並以 JavaScript 物件返回
  • "jsonp" - 使用 JSONP 載入一個 JSON 塊,將新增一個 "?callback=?" 到 URL 來規定回撥

示例:

function getDeviceRolenameList(selet,deviceRoles,callback){
    $.post("URL",function(json){
    	//debugger;
        var resultList = json.resultList;
        var optionHtml = "";
        deviceRoleArray = deviceRoles.split(",");
        console.log(deviceRoleArray);
        for(var i in resultList){
            var id = resultList[i].id;
            var name = resultList[i].name;
            var selected = "";
            for(var j in deviceRoleArray){
                if(id == deviceRoleArray[j]&&deviceRoleArray[j]!=""){
                    selected = "selected";
                }
            }
            optionHtml += "<option value='"+id+"' "+selected+">"+name+"</option>";
        }
        $(selet).html(optionHtml);
        $(selet).select2({
            placeholder: "選擇裝置角色",
            allowClear: true,
            escapeMarkup: function (m) {
                return m;
            }
        });
        if(callback){
            callback();
        }
    });
}
呼叫:getDeviceRolenameList($("select2"),"資料","函式");