2011-09-02 54 views
0

我想用jquerymobile-html5和websql/sqlite創建一個類別列表。jquerymobile selectmenu失敗

我在這裏發佈我的代碼,希望有人看到我做錯了什麼。

//load the cats to choose a cat 
function loadCatOptions() { 

var option_str=''; 
option_str += '<option value="0" data-placeholder="true">Choose categorie</option>'; 
//option_str += '<option value="0">Top/ParentiD</option>'; 



db.transaction(function (tx) { 
tx.executeSql('SELECT * FROM categories', [], function (tx, results) { 

var len = results.rows.length, i; 
for (i = 0; i < len; i++) { 

var r = results.rows.item(i); 

var catID = r.categories_id; 
} 
var count =0; 
while (count < catID+1){ 
count; 

tx.executeSql('SELECT c.parent_id, c.categories_id, cd.categories_name, c.categories_image FROM categories c, categories_description cd WHERE c.categories_id ='+ count +' AND cd.categories_id ='+ count +' and cd.language_id ="1" ORDER BY sort_order, cd.categories_name', [], function (tx, results) { 


var len = results.rows.length, i; 
for (i = 0; i < len; i++) { 

var r2 = results.rows.item(i); 



option_str += "<option value=" + r2['categories_id'] + ">" + r2['categories_name'] + "</option>"; 
console.log('categoriesname='+ r2['categories_name']); 
$("#parent_id").html(option_str).selectmenu('refresh', true); 
} 

}); 
count++; 

} 



}); 
});   
} 

的consolelog顯示其名字的所有項目,所以我敢肯定的是,數據庫查詢是正確的。 我可能花了幾天時間來解決問題。 如果我只接受SELECT *查詢並調用selectmenu,我可以看到列表中的所有categorie_id(ofcourse用categories_id替換categories_name以獲得它的工作)。 所以現在的問題是與jquerymobile ??????????????

它不會讀取第二個數據庫查詢中的option_str + =! aaargg

上面的代碼已經修復。

+0

您應該刪除的問題解決方案,並將其添加作爲一個答案。 – murgatroid99

回答

1

從你的問題:

問題固定

舊代碼:

option_str += "<option value=" + r2['categories_id'] + ">" + r2['categories_name']  + "</option>"; 
console.log('categoriesname='+ r2['categories_name']); 
} 

}); 
count++; 

} 

$("#parent_id").html(option_str).selectmenu('refresh', true);//Moved below closing tag of count++ 

}); 
});   
} 
+0

13更多去...但嘿;) – wHiTeHaT