0
我一直在尋找一些其他的問題,試圖找出問題與我的代碼...我使用<input type='hidden' ...></input>
字段來存儲所選個人的ID上a jQuery select2下拉式選單。當我回到頁面時,我想要選擇顯示最後一個人的姓名。我可以保存value
屬性,並且當下拉菜單展開時 - 選擇正確的名稱。但是,實際名稱不顯示;只是一個空select
Select2 initSelection文字值沒有顯示
這裏是我的初始化。 approvers
參數是一個JSON OBJ與個人
var self = this;
self.supervisorsDDL.select2({
placeholder: "Select Supervisor",
minimumInputLength: 0,
width: 150,
data: {
results: approvers.Data,
text: 'FullName',
id: 'EmployeeID'
},
id: function (e) {
if (e)
return e.EmployeeID;
},
formatResult: function (e) {
if (e)
return e.FullName;
},
formatSelection: function (e) {
if (e)
return e.FullName;
},
initSelection: function (item, callback) {
if (item.val() > 0) {
var eid = item.val();
var name, obj;
$.get(
self.jsonUrl,
{ method: "GetApproverNameByEmployeeId", employeeId: eid },
function (data, textStatus) {
if (data.Success) {
name = data.Data;
}
}
);
obj = { EmployeeID: eid, FullName: name };
callback(obj);
}
} // Set the ID for initSelection
}).select2("val", self.selectedItemHidden.val());
兩個supervisorsDDL
和selectedItemHidden
的隱藏字段,使用value
屬性持有ID列表。冗餘是的,但更容易,並節省了時間。
回調調用應該是Ajax響應功能的一部分。 ajax調用不會阻塞,所以回調被立即調用,並帶有錯誤的'obj'值。 – asawyer
我相信你在說什麼,我應該使用select2進行異步調用。我所做的ajax調用不符合我通過的'obj',這是否重要?所做的調用是檢索整個列表。 – Joe
沒關係,我會發表一個答案。 – asawyer