jQM 1.4.2动态内容更改后,可折叠设置无法正常刷新

时间:2014-04-28 11:25:55

标签: javascript jquery html css jquery-mobile

我知道之前已经问过这个问题而且我已经阅读了所有的解决方案。他们都没有工作。

我有一个可折叠的套装,里面有5个可折叠的元素。

<div data-role="collapsibleset" id="mySet" data-inset="false" class="ui-nodisc-icon ui-alt-icon">
  <div data-role="collapsible" id="1">
  </div>
  <div data-role="collapsible" id="2">
  </div>
  <div data-role="collapsible" id="3" >
  </div>
  <div data-role="collapsible" id="4">
  </div>
  <div data-role="collapsible" id="5">
  </div>
</div>

组件是使用jQuery构建的,每个组件的html都更新了。

$('#' + key).html(myHTMLString);

其中key是div的id,myHTMLString是用jQuery构造的。

这在第一次进入页面时非常有效,但在此之后,可折叠的设备会丢失所有格式。可折叠标题周围没有锚点,并且没有一个div =&#34; ui-collapsible-content ui-body-inherit&#34;当你第一次访问时,你就开始了。

我已经尝试了

的每个组合
$('#mySet').collapsibleset().trigger('create');
$("#mySet").collapsibleset("refresh");
$( "#mySet" ).trigger( "updatelayout" );
$("#mySet").enhanceWithin();

以及我能找到的更多内容。没有什么能改变它。

任何想法为什么?如果它根本不起作用,除了在第一次访问时没有成功,而不是下一次访问时,我会感到困惑吗?奇异。

编辑:

我修改了代码,因此h4和p标签位于html文档中而不是动态插入,我将这些数据添加到它们中:

 $('#' + key + "_head").html(myHeadingHTMLString);
 $('#' + key + "_content").html(myContentHTMLString);

这已经恢复了可折叠的div但它仍然取消了格式化,因为在第二次访问时(它仍然可以正常工作)锚标记

<a href="#" class="ui-collapsible-heading-toggle ui-btn ui-btn-icon-left ui-icon-plus ui-btn-inherit"> 
第二次访问时未添加

为什么不在地球上?我在构建它的过程中使用了.collapsibleset(),无论我做什么都是如此。

1 个答案:

答案 0 :(得分:0)

尝试:

$("#mySet").enhanceWithin().collapsibleset('refresh');