在jquery mobile中添加动态内容时的正确格式

前端之家收集整理的这篇文章主要介绍了在jquery mobile中添加动态内容时的正确格式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试动态地将一些内容添加到可折叠< li>中的复选框列表中. jQuery Mobile中的项目.我无法通过漂亮的圆角和分组项目获得正确的格式.当我在叶级添加其他元素时,情况变得更糟.

Here是一个显示问题的示例(显然在标题添加jquery和jquerymobile脚本和CSS):

<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>

我试着在调用append()之后添加.page()但是它虽然好一点但是没有正常工作.

除了我的例子,通用的问题是如何在jQuery Mobile玩弄DOM结构之后动态地将内容附加到DOM树.我相信存在一个“jquerymobilizes”部分树的功能,但我找不到它.

非常感谢你的帮助!

编辑:简而言之,我试图动态地将元素添加到listview的一个< li>元素中,而不是尝试将元素添加到列表本身.刷新列表视图在这里似乎没有帮助.

编辑2:我发现.trigger(“创建”)函数可以链接到.append()(参见JQM FAQ).使用以下脚本虽然data-role =“controlgroup”没有提供带有漂亮圆角框的正确格式,但效果稍好一些.

$("#list1 fieldset").append('<input type="checkBox" id="cb2" /><label for="cb2">More text</label>').trigger("create");

如果我在某个时候到达那里,我会发布完整的答案.

编辑3:这是我在jsFiddle中说明的例子

解决方法

我想我可以回答我自己的问题,所以这就是我得到的:

>在jQuery Mobile中动态添加元素使用.trigger(“create”)(参见jQuery Mobile FAQ)
>将它们添加到可折叠元素的可折叠部分,将其添加到div.ui-collapsible-content或在可折叠部分中创建一个div容器,以便直接在那里添加内容
>为了获得分组复选框的精美渲染,您应该立即添加所有复选框(当我按顺序添加它们时,我无法获得圆滑的圆角

所以这是我的最终脚本,它可以满足我的需求:

$("#list1 div[data-role='fieldcontain']").append('<fieldset data-role="controlgroup">'
    +'<input type="checkBox" id="cb1" /><label for="cb1">text</label>'
    +'<input type="checkBox" id="cb2" /><label for="cb2">More text</label></fieldset>'
    +'<a href="index.html" data-role="button" data-icon="delete">Delete</a>')
    .trigger("create");

我希望它有所帮助!

猜你在找的jQuery相关文章