我從PHP返回一些JSON數據和使用MooTools(1.5.1)將json對象中的項目注入選擇框。這很好,但在IE(11)中,select元素恰好在我想要的東西后面填充。 Firefox和Chrome是正確的。 我要返回的數據是db鍵和日期/時間值的列表。每一對都是select元素中的一行。這裏是返回的JSON數據的例子:MooTools注入JSON數據到選擇是向後在IE
{"26165":"2015-03-03 06:11:17","26145":"2015-03-03 05:11:17","26125":"2015-03-03 04:11:17","26105":"2015-03-03 03:11:17"}
我不能發佈圖片...但Chrome和Firefox填充選擇元素在上面顯示(最近在頂部)的確切順序和IE填充按照完全相反的順序(最近在底部)。下面是用於將項目注入到select元素的代碼。此代碼片段位於「onSuccess」塊中的MooTools「Request.JSON」中。
Object.each(list, function(value, key){
new Element('option', {'value':key, 'text':value}).inject(select_element);
});
如此反覆,這個作品非常適合Chrome和Firefox,所以我有理由相信我注射值到選擇元素的方法是正確的,但爲什麼它結束了在IE倒掛?我想,也許IE插入這些項目時,他們插入'價值',這會給倒過來的問題,因爲上面顯示的JSON數據是在DESC順序。 (Chrome/FF顯示的內容與插入內容完全相同,也許IE會根據導致它們更改爲ASC順序的值進行排序?)。
感謝您的任何幫助或提示!
一個數組,我不能看到IE11和其他人(HTTP之間的任何差別://的jsfiddle。 net/1syqbq6s /),但已知對象鍵的順序不保證。也許你應該從serverside傳遞一個數組來確保(?)。你可以製作一個能重現問題的jsFiddle,以便我們看看它嗎? – Sergio 2015-03-03 08:03:15
使用數組可以保證數據的順序。如果它解決了您的問題,請不要忘記將答案標記爲已接受。 – Sergio 2015-03-10 17:48:16