如果你
一類添加什麼到你的選擇:
<select title="" id="" class="initMySelect"> </select>
目標類重新填充選擇
從物體3210
實施例:
var object={
"6db01de6-a1e8-4ea6-bf01-4562b56468b9": {
"UID": "6db01de6-a1e8-4ea6-bf01-4562b56468b9",
"name": "aa",
"description": "aa"
},
"284c3172-268a-4342-d3f0-d00fafd3d482": {
"UID": "284c3172-268a-4342-d3f0-d00fafd3d482",
"name": "bb",
"description": "bb"
},
"b124f4df-6caa-43e8-eb97-536076b4832b": {
"UID": "b124f4df-6caa-43e8-eb97-536076b4832b",
"name": "cc",
"description": "cc"
},
"c934634a-0775-41bd-d72a-d8900ebcbdd1": {
"UID": "c934634a-0775-41bd-d72a-d8900ebcbdd1",
"name": "dd",
"description": "dd"
},
"fb5b8dcb-b9fb-405d-9fcf-3f551727459a": {
"UID": "fb5b8dcb-b9fb-405d-9fcf-3f551727459a",
"name": "ee",
"description": "ee"
},
"a98f3449-bb55-46e3-b9ce-f9e2dd6d74a9": {
"UID": "a98f3449-bb55-46e3-b9ce-f9e2dd6d74a9",
"name": "ff",
"description": "ff"
}
}
function initMySelect(value) {
var options = "";
var selected = "";
$.each(object, function(k, v) {
if (value === v.UID) {
selected = 'selected = "selected"';
} else {
selected = "";
}
options += '<option ' + selected + ' value=' + v.UID + '>' + v.name + '</option>';
});
$('.initMySelect').html(options);
}
- 不管你做出CRUD,將重新初始化類,這意味着類將容納所有向上TO-日期變化。所以之後的任何添加,更新,刪除,EXE你的函數
initMySelect();
觀看時
你選擇所選指數依然存在的選擇和u做額外的修改界面污物就會出現在你的選擇。 4.功能添加上按鈕,發送所選擇的值事件監聽器來initMySelect
var el = document.getElementById("repopulateSelect");
el.addEventListener("click", function() {
initMySelect(document.getElementById("selectTest").value);
}, false);
JSFiddle link:
我所選擇的3-d的部分:更新開始之前,我保存的排序選擇的索引收集並加載新的收藏品並與舊收藏品進行比較。我知道,這樣做效率不高,但對於目前的應用來說,這非常合適:集合永遠不會超過數百個,通常不會超過100個。集合的每個元素都支持急切和懶惰的加載。如果有更改的項目,他們從服務器加載他們的內容,而其他內容保持不變。然後我更新可觀察集合,從服務器更新更改的項目並在視圖模型中設置選定的索引。 – Dmitry