Javascript Can';似乎找不到要追加的元素
嗨,我有一个id为“quote area”的选择框,我想为它动态创建选项 它适用于使用jQuery mobile和HTML5的移动应用程序 我有一个本地保存的区域表,我将它们拉出并放入for循环中,构建一个html字符串,然后将其附加到选择框中 这是我的JS:Javascript Can';似乎找不到要追加的元素,javascript,jquery,dom,Javascript,Jquery,Dom,嗨,我有一个id为“quote area”的选择框,我想为它动态创建选项 它适用于使用jQuery mobile和HTML5的移动应用程序 我有一个本地保存的区域表,我将它们拉出并放入for循环中,构建一个html字符串,然后将其附加到选择框中 这是我的JS: function(tx, results) { len = results.rows.length; var markup =
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(""));
}
);
功能(发送、结果){
len=results.rows.length;
var标记=[];
对于(变量i=0;i
HTML:
我的警报将运行,我可以看到标记已正确构造。但是我的选择框没有发生任何变化。我让tripple检查了ID
我想知道这是否是因为先加载js文件,然后将随后的每个html页面Ajax放入DOM(jQuery移动功能)。那么当下载javascipt时,选择框还不存在
有人能帮我吗?我需要使用一些现场活动吗
更新:
我也尝试过使用live query插件,因为我几乎肯定它,因为加载脚本时列表不是DOM的一部分。但还是没有运气
$('#quote-area').livequery(function(){
$(this).append($("<option></option>").attr("value",area_id).text(label));
});
$(“#报价区”).livequery(函数(){
$(this).append($(“”)attr(“value”,area_id).text(label));
});
您试过了吗
$(document).ready(function() { whatever(); });
这将使代码在加载页面后运行您试过了吗
$(document).ready(function() { whatever(); });
这将使代码在加载页面后运行如果通过ajax请求将目标选择框放置在页面上,则应在ajax onsuccess事件中执行代码。文档就绪事件在加载“静态”页面时触发,而不是在处理所有ajax请求时触发。如果通过ajax请求将目标选择框放置在页面上,则应在ajax onsuccess事件中执行代码。文档就绪事件在加载“静态”页面时触发,而不是在处理所有ajax请求时触发。使用JQM时,您需要根据以下内容将其提交给页面事件: 重要提示:使用$(document.bind('pageinit'),而不是$(document.ready()) 在jQuery中学习的第一件事是调用$(document).ready()函数中的代码,以便在加载DOM后立即执行所有操作。但是,在jquerymobile中,Ajax用于在导航时将每个页面的内容加载到DOM中,而DOM就绪处理程序只对第一个页面执行。要在加载和创建新页面时执行代码,可以绑定到pageinit事件。本页底部详细解释了此事件
链接此处:http://jquerymobile.com/demos/1.2.0/docs/api/events.html使用JQM,您需要根据以下内容将其提交至页面事件: 重要提示:使用$(document.bind('pageinit'),而不是$(document.ready()) 在jQuery中学习的第一件事是调用$(document).ready()函数中的代码,以便在加载DOM后立即执行所有操作。但是,在jquerymobile中,Ajax用于在导航时将每个页面的内容加载到DOM中,而DOM就绪处理程序只对第一个页面执行。要在加载和创建新页面时执行代码,可以绑定到pageinit事件。本页底部详细解释了此事件
链接此处:http://jquerymobile.com/demos/1.2.0/docs/api/events.htmljQuery Mobile上是否有DOM就绪事件?如果是,你正在使用它吗?这将解决DOM中还没有选择框的问题。我建议您查看这个问题的答案:jQuery Mobile上是否有DOM就绪事件?如果是,你正在使用它吗?这将解决DOM中还没有选择框的问题。我建议您查看这个问题的答案:是的,我在docready中调用我的函数。然而,scipt被加载,随后的页面通过ajax被拉入,所以我不确定每个新页面上是否都有doc ready是的,我在doc ready中调用了我的函数。然而,scipt被加载,随后的页面通过ajax被拉入,所以我不确定每个新页面上是否都有准备好的文档