2

我在我的应用程序中使用 $.get() 来检索设施名称列表。然后我想将它们作为 jquery mobile 中的列表项插入到已经存在的 . 当我在 html 中添加单个元素时,它看起来不错,但是当我使用 for 循环时,结果没有任何样式效果。

http://jsfiddle.net/mkamyszek/YDFZ3/1/

<div data-role="page">
            <div data-role="header">
                <h1>My Title</h1>
            </div><!-- /header -->

            <div data-role="content">
                <ul data-role="listview" data-inset="true" data-filter="true" id="fieldList">
                    <li>Test</li>
                </ul>
            </div><!-- /content -->

        </div><!-- /page -->

循环输出正确的信息,但由于某种原因,当我使用循环时样式不适用:

for (i=0; i<=5; i++){
$("ul").append("<li>something" + i + "</li>");

}

4

2 回答 2

6

那是因为您需要在添加新内容后重新设置列表视图的样式。

像这样做:

$('#listviewID').listview('refresh');

有时当动态生成列表视图时,它会要求您在对其进行样式设置之前对其进行初始化,因此在这种情况下使用:

$('#listviewID').listview().listview('refresh');

工作示例:http: //jsfiddle.net/Gajotres/LrAyE/

这是您示例中的一个工作示例:http: //jsfiddle.net/Gajotres/HuKab/

于 2013-04-09T13:28:18.530 回答
2

$('.selector').listview('refresh');在附加项目后使用。

演示

for (i=0; i<=5; i++){
 $("ul").append("<li>something" + i + "</li>");
 $('[data-role=listview]').listview('refresh');
}
于 2013-04-09T13:29:36.470 回答