2012-09-25 21 views
1

我有一個listview,都很好地顯示。我添加一個項目,使用我用來放置原始項目的完全相同的功能。如果我不刷新列表視圖,新項目不會得到增強(在那裏沒有意外)。但是當我打電話刷新時,增強是不完整的。jQuery手機listview('刷新')沒有完成增強

這裏作爲進入項目:

<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屬性從對話框中添加項目,該按鈕通過列表鏈接回頁面(從而關閉對話框)。

在此先感謝您的任何見解。

回答

0

嘗試使用$('#memberList').trigger('create');而不是refresh listview方法。我認爲這可能會起作用,因爲您不僅需要增強新的列表項目,還需要增強其內部的滑塊。

+0

幾乎做到了這一招;我需要做一個觸發器/創建(它得到了正確的增強滑塊)和一個列表視圖/刷新(完成列表項的增強)。 –