使用JQuery mobile我想将一个ul-ListView添加到一个窗口,通过JScript动态创建它,有一个问题。
当我将ListView固定为HTML时,一切正常。该定义类似于
...
<div data-role=content>
<ul id='listviewAktuelleChecklist' data-role=listview data-theme="d" data-divider-theme="d" data-inset=true>
<li id="listDividerAktuelleChecklist" data-role=list-divider>yyy Checklist</li>
<li id='LoadChecklist'> <a> Checkliste von Market-Value laden </a></li>
</ul>
</div>
...
并且在Firefox中显示它正是预期的内容。但是当我用JScript创建它时,它看起来像是:
(对不起,伙计们,由于缺少参考资料,我不允许在这里添加图片,所以这是图片的链接: http://www.market-value.de/downloads/ul.jpg
顶级ListView是我通过HTML定义获得的,在“确定”按钮下面生成的内容(对于那些不查看图片的人:生成的Listviw显示为带有项目符号的普通HTML“ul”。 ..)
我使用了那段代码:
$("#BTN1").bind ("click", function (event)
{
var html = "";
html += "<ul id='ChecklistListea' data-role=listview data-theme='d' data-divider-theme='d' data-inset=true>"
html += '<li id="listDividerAktuelleChecklista" data-role=list-divider>yyy Checklist</li>'
html += "<li id='LoadChecklista'> <a> Checkliste laden </a></li>";
html += "</ul>";
$(html).appendTo('#DivChecklistListe');
$("#ChecklistListe").listview("refresh");
});
我尝试了一些不同的方法来创建动态HMTL,但结果总是一样。
有谁知道,这里出了什么问题?
ps:如果我直接在HMTL中定义ListView并且只添加ListItems,一切正常!
答案 0 :(得分:1)
首先,您在错误的ID上调用refresh,但即使ID正确,也无效。这是因为你是从头开始创建一个listview,带有内部li元素的ul元素。
在这种情况下,调用listview('refresh')是不够的,因为listview首先必须先进行初始化才能刷新。
可以这样做:
$("#ChecklistListea").listview().listview("refresh");
首先 .listview()
调用将初始化一个列表视图,第二个将调整它的样式。