jQuery mobile listview('refresh')没有完成增强功能

时间:2012-09-25 00:04:04

标签: listview jquery-mobile refresh

我有一个列表视图,都很好地显示。我添加了一个项目,使用我用来将原始项目放在其中的完全相同的功能。如果我不刷新列表视图,则新项目不会得到增强(毫不奇怪)。但是当我打电话刷新时,增强效果不完整。

这是输入的项目:

<li data-role="fieldcontain" id="flip-li-38">
  <div class="containing-element">
    <label for="flip-38">A B:</label>
    <select name="flip-38" id="flip-38" data-role="slider" data-mini="true">
      <option value="off">Absent</option>
      <option value="on">Present</option>
    </select>
  </div>
</li>

这是增强后的项目:

<li data-role="fieldcontain" id="flip-li-38" class="ui-li ui-li-static ui-body-c">
  <div class="containing-element">
    <label for="flip-38">A B:</label>
    <select name="flip-38" id="flip-38" data-role="slider" data-mini="true">
      <option value="off">Absent</option>
      <option value="on">Present</option>
    </select>
  </div>
</li>

但这是列表中最初的一个项目:

<li data-role="fieldcontain" id="flip-li-37" class="ui-li ui-li-static ui-body-c ui-field-contain ui-body ui-br">
<div class="containing-element">
  <label for="flip-37" id="flip-37-label" class="ui-slider">X Y:</label>
  <select name="flip-37" id="flip-37" data-role="slider" data-mini="true" class="ui-slider-switch">
    <option value="off">Absent</option>
    <option value="on">Present</option>
  </select>
  <div role="application" class="ui-slider ui-slider-switch ui-btn-down-c ui-btn-corner-all ui-slider-mini" style>
    <span class="ui-slider-label ui-slider-label-a ui-btn-active ui-btn-corner-all" role="img" style="width: 0%; ">Present</span>
    <span class="ui-slider-label ui-slider-label-b ui-btn-down-c ui-btn-corner-all" role="img" style="width: 100%; ">Absent</span>
    <div class="ui-slider-inneroffset">
      <a href="#" class="ui-slider-handle ui-btn ui-btn-up-c ui-shadow ui-btn-corner-all ui-slider-handle-snapping" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="c" role="slider" aria-valuemin="0" aria-valuemax="1" aria-valuenow="off" aria-valuetext="Absent" title="Absent" aria-labelledby="flip-37-label" style="left: 0%; ">
        <span class="ui-btn-inner ui-btn-corner-all">…</span>
      </a>
    </div>
  </div>
</div>
</li>

这是周围的背景:

    <div id="memberPage" data-role="page">
        <div data-role="content">
         <form>
                <ul data-role="listview" data-filter="true" id="memberList"></ul>
            </form>
        </div><!-- /content -->
  </div>

可能存在某种时间问题;我通过将部分增强的项目写入控制台来捕获它,但是在刷新调用之前写了它(如果我将调用刷新,则记录原始的未增强项目。)

如果重要,则通过按钮的onclick属性从对话框中添加项目,该按钮链接回带有列表的页面(从而关闭对话框)。

提前感谢任何见解。

1 个答案:

答案 0 :(得分:0)

尝试使用$('#memberList').trigger('create');而不是listview的refresh方法。我认为它可能会起作用,因为你不仅需要增强新的列表项,还要增强其中的滑块。