我想通過它的值排序列表,但我不明白爲什麼它不起作用,一旦我改變它。jQuery對象.sort()不排序
一旦將a和b部分更改爲ipArray [a/b.value],沒有任何東西被排序。
我可以證實,所有的選項值存在於ipArray因爲我能夠通過使用selectList.each(function(){ alert(ipArray[$(this).val()].ipAdd) )
ipArray is an array that has objects of this format
{
ipAdd : "",
network : ""
}
id = id of the entry
eg. ipArray[id] = { ip : "1.2.3.4", network: "test network"};
// Example
var id = $("#list");
var selectList = $("option", id);
selectList.sort(function (a, b) {
a = a.value;
b = b.value;
// Doesn't work. Would like to sort by network name then by ip address
//a = ipArray[a.value].ipAdd;
//b = ipArray[b.value].ipAdd;
return a - b;
});
id.html(selectList);
編輯以獲取這些值:
創建一個小提琴https://jsfiddle.net/bme4rv6o/12/ 隨着預期輸出
你能提供一個更大的樣本數據嗎? selectList中預期的是什麼?您的示例對象與您在示例中提供的對象不同。 – Aaronepower
增加了預期輸出的小提琴。 – Tim