JQUERYMOBILE页面显示在桌面上,但不在移动设备上

时间:2011-04-05 18:16:24

标签: android jquery-mobile

我在移动设备上动态显示内容时遇到问题。

我想通过以下代码写出带有值的列表:

        $.each(mapdata, function(index, value){
            //alert(index + ': ' + value.jmeno+value.lat+value.lng); 
            //document.write(value.jmeno);  

            //GET CURRENT GPS COORDS
            //onLoad();
            //GET CURRENT GPS COORDS
            try {
                    //alert("SUCCESS");
                $("ul").append("<li><img width=\"80px\" src=\"http://static.akcniceny.cz/" + value.img + "\"/><h3><a href=\"" + value.jmeno + "\">" + value.jmeno + "</a></h3><p>" + value.akcnicena + " Kč</p><p>" + value.pjmeno + "</p><div class=\"shop-distance\"></div><div id=\"lat\">" + value.lat + "</div><div id=\"lng\">" + value.lng + "</div></li>");
            } 

            catch (err) {
                alert("ERROR BY WRITEOUT");
            }
        });
        $('ul').listview('refresh');

在桌面浏览器上一切正常,在移动设备上我尝试了捕获错误,但没有。似乎一切正常,但我只看到空白的白页?

1 个答案:

答案 0 :(得分:1)

它不起作用的原因如下:在完成添加内容之前,列表会刷新。根据我的经验,将所有元素添加到列表的最佳方法是执行类似

的操作
var appendString;
$.each(data, function(index, value) {appendString = appendString + whatever});
$("ul").append(appendString);
$("ul").listview('refresh');

这样你也不会在$ .each的每次传递中调用$。你现在这样做的方式计算成本很高。是的,请接受。我是新手,可以使用代表:)。谢谢。