2013-02-27 82 views
5

當我動態更改圖標時,即使標記已更改,它也不會反映頁面上的更改。在jQuery Mobile列表視圖中動態更改圖標

例子:

 <ul data-role="listview" data-autodividers="true" data-filter="true" data-inset="true"> 
     <li data-icon="check"><a href="#">Adam Kinkaid</a></li> 
     <li data-icon="check"><a href="#">Alex Wickerham</a></li> 
     <li data-icon="check"><a href="#">Avery Johnson</a></li> 
     <li data-icon="check"><a href="#">Bob Cabot</a></li> 
     <li data-icon="check"><a href="#">Caleb Booth</a></li> 
     <li data-icon="check"><a href="#">Christopher Adams</a></li> 
     <li data-icon="check"><a href="#">Culver James</a></li> 
    </ul> 

$("li").tap(function() { 
    //Alert the old icon 
    alert($(this).jqmData("icon")); 

    //Toggle 
    $(this).jqmData("icon") == "false" ? $(this).jqmData("icon", "check") :    $(this).jqmData("icon", "false"); 

    //Alert the new icon 
    alert($(this).jqmData("icon")); 
}); 

http://jsfiddle.net/Mc97V/

回答

10

我給你做一個工作示例:http://jsfiddle.net/Gajotres/qgE6L/

$('#index').live('pagebeforeshow',function(e,data){  
    $("li").tap(function() { 
     $(this).buttonMarkup({ icon: "edit" }); 
    }); 
}); 
+0

謝謝,這主要是工作。但是,在check/false之間切換,而不是false,它會顯示模糊的+。在其他兩個人之間切換顯示圖標正確 – gberger 2013-02-27 15:18:16

+1

這是因爲圖標「false」不存在。看看這個圖標列表:http://jquerymobile.com/demos/1.2.0-alpha.1/docs/buttons/buttons-icons.html。您可以添加自己的自定義圖標,但這是另一個問題。或者你想刪除圖標與假? – Gajotres 2013-02-27 15:22:01

+0

我想刪除帶有虛假圖標,是的 – gberger 2013-02-27 15:23:19

相關問題