2016-07-25 11 views
0

Ich habe eine zusammenklappbare Menge für Tage der Woche, mit Benutzeraktivitäten innerhalb, die als Listview innerhalb der zusammenklappbaren-Set dargestellt.JQM - Hinzufügen Bild zu reduzierbaren Header dynamisch

<div data-role="collapsible-set" id="calCol" data-collapsed-icon="arrow-d" data-collapsed="true" data-iconpos="right"> 

       <div data-role="collapsible"> 
        <h1 id="day1Header">Sunday<img src="#" /></h1> 
        <ul id="day1" data-role="listview"> 
        </ul> 
       </div> 

       <div data-role="collapsible"> 
        <h1>Monday</h1> 
        <ul id="day2" data-role="listview"> 
        </ul> 
       </div> 
... 

Alle Inhalte für die Aktivitäten des Benutzers i aus meiner Datenbank übernehmen so alle dynamisch wie dies mein Inhalt i einfügen:

var userActivitiesObj = JSON.parse(data.d); 
     for (var i = 0; i < userActivitiesObj.length; i++) { 

      for (var j = 0; j < userActivitiesObj[i].time.length; j++) { 
       var listItem = "<li style='background-color: " + userActivitiesObj[i].hobColor + ";'>"; 
       listItem += userActivitiesObj[i].actName + " - " + userActivitiesObj[i].actAddress + " - "; 
       listItem += userActivitiesObj[i].time[j].startTime + "-" + userActivitiesObj[i].time[j].endTime; 
       listItem += " (" + userActivitiesObj[i].time[j].audiance + ")</li>";      
       $("#day" + userActivitiesObj[i].time[j].day).append(listItem); 
       $("#day" + userActivitiesObj[i].time[j].day).listview("refresh");     
      } 

     } 

Eine letzte Sache, die für mich noch zu tun ist Bild hinzufügen jede Aktivität zum Kopf des Tages. Wenn ich versucht habe es in html zu tun, es funktionierte einwandfrei:

<h1 id="day1Header">Sunday<img src="#" /></h1> 

aber wenn man versucht, es dynamisch zu tun, ist es nicht richtig funktioniert. Das, was ich zu tun habe versucht:

$("#day1Header").html($("#day1Header").html()+"<img src='#'"); 

und:

$("#day1Header").append("<img src='#'"); 

Ich weiß, dass ich hier so etwas wie die .list („refresh“) Funktion bin fehlt, aber ich habe keine Ahnung, was ist das.

Antwort

0

jQuery Mobile fügt innerhalb der Kopfzeile ein Anker-Tag mit der Klasse ui-collapsible-heading-toggle hinzu und platziert den reduzierbaren Titel dort. So können Sie den vorhergehenden Bildern entfernen und das neue Bild wie folgt anhängen:

$("#day1Header .ui-collapsible-heading-toggle img").remove(); 
$("#day1Header .ui-collapsible-heading-toggle").append('<img src="https://placeimg.com/44/22/tech" />'); 

DEMO

+0

Ich würde es nie allein erraten, wirkt wie ein Zauber, danke! – serg90