2012-11-16 50 views
1

我有一個listview,帶有搜索過濾器,幾乎300 <li>在jQuery手機listview中刷新單利

刷新列表視圖需要大約7秒,但有時我只想更新一個<li>的數據圖標。

有沒有刷新一個單一<li>而不刷新完整的列表視圖的方法?

編輯:

<ul data-role="listview" id="myList"> 
    <li id="a" data-icon="check"><a href="">A</a></li> 
    <li id="b" data-icon="check"><a href="">B</a></li> 
</ul> 

解決方案

$('#a span').removeClass ('ui-icon-check'); 
$('#a span').addClass ('ui-icon-refresh'); 
+0

例如可以使用您的例子中,我明白了什麼問題幫助 –

+0

@PhillPafford。 – Jordi

回答

1

請問像這樣的工作?你的代碼的

JS

// US Flag 
var newImageSource = "http://jquerymobile.com/demos/1.2.0/docs/lists/images/us.png"; 

// this is the item you want to change 
var listItemChildNeeded = 3; 

// this is the list with the found item 
var listItemChildSelected = $("#myList :nth-child("+listItemChildNeeded+")"); 

// digging into the jQM markup first level 
var listItemChildSelectedFirstChild = listItemChildSelected.children(); 

// digging into the jQM markup second level 
var listItemChildSelectedSecondChild = listItemChildSelectedFirstChild.children(); 

// digging into the jQM markup third level 
var listItemChildSelectedThirdChild = listItemChildSelectedSecondChild.children(); 

// digging into the jQM markup fourth level 
var listItemChildSelectedFourthChild = listItemChildSelectedThirdChild.children(); 

// Change Great Britains Flag to the US Flag 
listItemChildSelectedFourthChild.attr('src', newImageSource); 


// one liner syntax 
//$("#myList :nth-child(3)").children().children().children().children().attr("src","http://jquerymobile.com/demos/1.2.0/docs/lists/images/us.png"); 


​ 

HTML

<div data-role="page" id="home" class="pages" data-theme="c"> 
    <ul data-role="listview" id="myList"> 
     <li><a href="#"><img src="http://jquerymobile.com/demos/1.2.0/docs/lists/images/gf.png" alt="France" class="ui-li-icon">France <span class="ui-li-count">4</span></a></li> 
      <li><a href="#"><img src="http://jquerymobile.com/demos/1.2.0/docs/lists/images/de.png" alt="Germany" class="ui-li-icon">Germany <span class="ui-li-count">4</span></a></li> 
      <li><a href="#"><img src="http://jquerymobile.com/demos/1.2.0/docs/lists/images/gb.png" alt="Great Britain" class="ui-li-icon">Great Britain <span class="ui-li-count">0</span></a></li> 
      <li><a href="#"><img src="http://jquerymobile.com/demos/1.2.0/docs/lists/images/fi.png" alt="Finland" class="ui-li-icon">Finland <span class="ui-li-count">12</span></a></li> 
      <li><a href="#"><img src="http://jquerymobile.com/demos/1.2.0/docs/lists/images/sj.png" alt="Norway" class="ui-li-icon">Norway <span class="ui-li-count">328</span></a></li> 
      <li><a href="#"><img src="http://jquerymobile.com/demos/1.2.0/docs/lists/images/us.png" alt="United States" class="ui-li-icon">United States <span class="ui-li-count">62</span></a></li> 
    </ul> 
</div>​