我正在創建一個將HTML選擇器轉換爲可自定義菜單的腳本。我需要從我的HTML中返回一個嵌套對象(如圖2)。將HTML選擇器轉換爲對象
即返回此 圖1
<select id="orderBy">
<option value="order-by=newest&">newest</option>
<option value="order-by=relevance&">relevance</option>
</select>
<select id="searchBy">
<option value="search-by=name&">name</option>
<option value="search-by=number&">number</option>
</select>
作爲對象,像這樣: 圖2
selectors = [
{"id":"orderBy", "options" : [
{"value":"search-by=newest&", "name":"search-by=relevance&"}
]},
{"id":"searchBy", "options" : [
{"value":"search-by=name&", "name":"search-by=number&"}
]}
];
到目前爲止我的代碼,雖然這是行不通的。
var selector = new Object;
//Find all select boxes and push their ID's' into selector
$("#filter").find("select").map(function(i){
selector[i] = this.id;
});
//Find all select boxes and push their ID's' into selector
$("#" + selector[i]).find("option").map(function(i){
optionText[i] = $(this).text();
optionValue[i] = $(this).val();
});
摘要
上面的代碼返回
Object {0: "orderBy", 1: "searchBy"}.
我在做什麼錯?
更高層次的目標似乎仍然過於寬泛。不清楚您的意思是整頁還是隻是特定的標籤或頁面的特定部分。在第二個代碼片段中,「i」顯然是未定義的,但如果您對創建的對象感到滿意,則不清楚。總之......你應該更具體地說明你的問題 – charlietfl
@charlietfl - 我已經編輯了這個問題,希望能縮小這個問題的範圍。謝謝。 –