2013-02-27 31 views
5

जब मैं गतिशील रूप से आइकन बदलता हूं, तो यह पृष्ठ पर परिवर्तन को प्रतिबिंबित नहीं करता है, भले ही मार्कअप में यह बदला गया हो।jQuery मोबाइल सूचीदृश्य में गतिशील रूप से आइकन बदलें

उदाहरण:

 <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

धन्यवाद, यह ज्यादातर काम करता है। हालांकि, झूठी जगह के बजाय चेक/झूठी के बीच टॉगलिंग, यह एक धुंधला + दिखाता है। किसी भी दो अन्य लोगों के बीच टॉगलिंग आइकन को सही ढंग से दिखाता है – gberger

+1

ऐसा इसलिए है क्योंकि आइकन "झूठा" मौजूद नहीं है। इस आइकन सूची पर एक नज़र डालें: http://jquerymobile.com/demos/1.2.0-alpha.1/docs/buttons/buttons-icons.html। आप अपने स्वयं के कस्टम आइकन जोड़ सकते हैं, लेकिन यह एक और सवाल है। या आप झूठ के साथ आइकन को हटाना चाहते हैं? – Gajotres

+0

मैं झूठ के साथ आइकन को हटाना चाहता हूं, हाँ – gberger

संबंधित मुद्दे