2013-02-27 18 views
5

Simgeyi dinamik olarak değiştirdiğimde, biçimlendirme sırasında değiştirilmiş olsa bile, sayfadaki değişikliği yansıtmaz.jQuery'deki simgeleri dinamik olarak değiştirme Mobil liste görünümü

Örnek:

 <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/

cevap

10

Sana çalışma örneği yaptı: http://jsfiddle.net/Gajotres/qgE6L/

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

Teşekkür, bu çoğunlukla çalışır. Ancak, false yerine, kontrol/false arasında geçiş yapmak, bulanık bir + gösterir. Diğer ikisi arasında geçiş yapmak simgeleri doğru şekilde gösterir – gberger

+1

Simgesinin "yanlış" olmaması nedeniyle. Bu simge listesine bir göz atın: http://jquerymobile.com/demos/1.2.0-alpha.1/docs/buttons/buttons-icons.html. Kendi özel simgelerinizi ekleyebilirsiniz, ancak bu başka bir soru. Ya da yanlış simgeyi kaldırmak istiyor musunuz? – Gajotres

+0

Simgeyi false ile kaldırmak istiyorum, evet – gberger