您好我有一個ID爲'quote-area'的選擇框,我想動態地爲其創建選項。似乎無法找到要追加的元素
這是一個使用jQuery手機和HTML5的移動應用程序。
我有一個本地保存的區域表,我把它們拉出來放在一個for for循環中,構造一個html字符串,然後我將它添加到選擇框中。
這裏是我的JS:
function(tx, results) {
len = results.rows.length;
var markup = [];
for(var i=0; i< len; i++){
var area_id= results.rows.item(i).area_id;
var label = results.rows.item(i).label;
markup.push("<option value='"+area_id+"'>");
markup.push(label);
markup.push("</option>");
}
alert(markup.join(""));
$('#quote-area').append(markup.join(""));
}
);
HTML:
<select name="area" id="quote-area"></select>
我的警報被運行,我可以看到標記已構建正確。但是我的選擇框沒有任何反應。我有tripple檢查選擇ID。
我想知道是否因爲js文件是先加載然後每個後續的html頁面都被添加到DOM(jQuery移動功能)。所以當javascipt下載時,選擇框不存在了嗎?
任何人都可以幫助我嗎?我需要使用某種現場活動嗎?
UPDATE:
我也使用實時查詢插件試過,因爲我幾乎可以肯定,因爲加載腳本時的列表不是DOM的一部分。但仍然沒有運氣。
$('#quote-area').livequery(function(){
$(this).append($("<option></option>").attr("value",area_id).text(label));
});
是否有jQuery Mobile的一個DOM準備的事件?如果是這樣,你使用它?這將解決DOM中沒有選擇框的問題。 – Fred
我建議你查看這個問題的答案:http://stackoverflow.com/questions/170986/what-is-the-best-way-to-add-options-to-a-select-from-an- array-with-jquery – pederOverland