我試圖動態地將一些內容添加到jQuery Mobile中可摺疊<li>
項目中的複選框列表。我不能用漂亮的圓角和分組項目得到正確的格式。當我在葉級別添加其他元素時,情況會變得更糟。在jQuery Mobile中添加動態內容時正確格式化
Here是顯示問題(添加jQuery和jquerymobile腳本和CSS在標題很明顯)的例子:我試過,來電後添加.page()
到append()
<body>
<div data-role="page" id="page">
<ul id="listList" data-role="listview">
<li id="list1" data-role="collapsible">
<h3>list 1</h3>
<div data-role="fieldcontain">
<fieldset data-role="controlgroup" id="fs1">
<input type="checkbox" id="cb1" /><label for="cb1">text</label></fieldset></div></li>
<li id="list2" data-role="collapsible">
<h3>list 2</h3>
<p>here comes another list of checkboxes...</p></li></ul>
<input type="button" onclick="addCheckbox();" value="add a checkbox to list1" /></div>
</body>
<script>
function addCheckbox() {
$("#list1 fieldset").append('<input type="checkbox" id="cb2" /><label for="cb2">More text</label>');
}
</script>
,但它不能正常工作,雖然好一些。
除了我的例子,通用的問題是如何在jQuery Mobile使用DOM結構後動態地將內容追加到DOM樹中。我相信存在一個「jquerymobilizes」部分樹的功能,但我找不到它。
非常感謝您的幫助!
編輯:總之,我想動態添加元素融入listview
的一個<li>
元素,而不是試圖元素添加到列表本身。刷新listview
在這裏似乎沒有幫助。
編輯2:我得到一個有點接近,因爲我找到了.trigger("create")
功能,可以鏈接到.append()
(CF JQM FAQ)。使用下面的腳本,雖然data-role="controlgroup"
沒有提供正確的格式與漂亮的圓角框,但它的效果稍好。
$("#list1 fieldset").append('<input type="checkbox" id="cb2" /><label for="cb2">More text</label>').trigger("create");
我將發佈完整的答案,如果我在某些時候到達那裏。
編輯3:這是我的例子jsFiddle
PS:我也想知道爲什麼複選框似乎被禁用,並且在我的例子中默認情況下可摺疊項目沒有摺疊,但這是次要的。 – 2012-02-26 20:31:58