2016-07-25 4 views
0

У меня есть складной набор для дней недели, в нем есть действия пользователя, которые представляются в виде списка в сворачиваемом наборе.JQM - добавить изображение в складной заголовок динамически

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

Все содержание деятельности пользователя я взять из моей базы данных, чтобы я вставить все мое содержимое динамически, как это:

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");     
      } 

     } 

Одно последнее, что осталось для меня, чтобы сделать это, чтобы добавить изображение каждое действие в заголовке того дня. Когда я попытался сделать это в HTML, она работала безупречно:

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

но при попытке сделать это динамически, он не работает правильно. То, что я пытался сделать:

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

и:

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

Я знаю, что я здесь отсутствует что-то вроде .list («обновить») функцию, но я понятия не имею, что в том, что.

ответ

0

jQuery Mobile добавляет в заголовок якорный тег с классом ui-collapsible-heading-toggle и размещает там разборный заголовок. Таким образом, вы можете удалить предыдущие изображения и добавить новое изображение, как это:

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

DEMO

+0

Я бы никогда не предполагаю, что это один, работает как шарм, спасибо! – serg90

Смежные вопросы