嗨,我有一个选择框与id‘引号-区域’,我想要动态创建选项。
这是一个使用jQuery手机和HTML5的移动应用程序。
我有一个保存在本地的区域表,我将它们提取出来,并将它们放入一个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>我的警报运行,我可以看到标记构造正确。但是我的选择框没有发生什么变化。我已经三次检查了选择ID。
我想知道这是否是因为js文件是先加载的,然后每个后续的html页面都被标记到DOM (jQuery移动功能)中。那么,当下载javascipt时,复选框还不存在吗?
有人能帮我吗?我需要使用某种现场活动吗?
更新:
我还尝试使用实时查询插件,因为当脚本加载时,列表不是DOM的一部分,所以几乎是肯定的。但还是没有运气。
 $('#quote-area').livequery(function(){
     $(this).append($("<option></option>").attr("value",area_id).text(label));
 });发布于 2011-07-20 11:06:40
如果要通过ajax请求在页面上放置目标选择框,则应该在事件中执行代码。文档就绪事件是在加载“静态”页面时触发的,而不是在处理所有ajax请求时触发的。
https://stackoverflow.com/questions/6760806
复制相似问题