обновить содержимое при загрузке мобильной страницы jquery

У меня есть представление списка, и когда каждый элемент щелкается в представлении списка (он добавляется в локальное хранилище и) открывается диалоговое окно (страница), показывающее дополнительную информацию (подробный вид) выбранного элемента. Я добавляю разметку для страницы диалога, при этом происходит следующее: когда я нажимаю на элемент, он показывает правильные сведения о нажатом элементе на странице диалога, но когда страница диалога закрывается и я нажимаю на другую элемент, он добавляет его к тому, что было ранее на странице диалога. Я хочу обновить страницу диалога после нажатия кнопки закрытия и вернуться к следующему элементу.

Вот где находится href для новой страницы диалога:

markup += '<li><a href="#fbfullpostviewpage" class="item" data-rel="dialog" data-transition="pop" data-overlay-theme="e" data-inline="true"><img src="' + thumb_url + '">' +'<h4>' + name + '</h4><p>' +'posted this photo....</p><p>'+likes+'<img src="images/facebook-like-16.png"></p></a></li>';

Вот страница диалога:

<div data-role="page" id="fbfullpostviewpage">
  <script src="facebook_feed.js"></script>
  <script type="text/javascript">

          $( '#fbfullpostviewpage' ).on( 'pageinit', function( event ) {
           if (Modernizr.localstorage) {
             //retrievPostFromLocalStorage();              
             // $('#actorDisplay').remove();




            }
            else {
                $('#message').text("Sorry your browser doesn't support local storage");
                $('#message').show();
            }
    });



  </script>
    <div data-role="header" id="fbheader" data-theme="b" data-inline="true"><div class="logo"><img src="images/facebook_64x64.png"></div>
        <h1 id="headername"style="position:relative; top:-10px;">

        </h1>
    </div><!-- /header -->
    <div id="fb-root"></div>
    <div data-role="content" data-theme="d">
      <p id="message"/>
      <div id ="actorDisplay"></div>
      <div id ="detailedpost"></div>


    </div><!-- /content -->
    <div data-role="footer" data-theme="b">
        <h5>
            CS408
        </h5>
    </div><!-- /footer -->
</div>

вот метод, которым я добавляю

 function showDetailedPost(ItemtoDisplay){


    var actorID = ItemtoDisplay.actor_id;
    var actor_name;
    var actor_markup ='';



      FB.api('/'+actorID+'', function(response) {
       // console.log(response);
                  actor_name = response.name; 
                    $('#fbheader #headername').text(actor_name);




   if ((ItemtoDisplay.attachment.media != undefined) && (ItemtoDisplay.attachment.media[0].type == "photo")) {

     actor_markup += '<img src="https://graph.facebook.com/' + actorID + '/picture">'+'  ' + actor_name + ' posted this photo ';

   var thumb_url = ItemtoDisplay.attachment.media[0].src;
   var full_url = thumb_url.replace(/(\/[^/]*)s\.jpg$/, '/s720x720$1n.jpg');

}


 $('#actorDisplay').append(actor_markup);

    });
//$('#actorDisplay').remove(actor_markup);


  }

Я пробовал .trigger('create'); но может я не туда поставил. Пожалуйста помоги


person Dot    schedule 04.07.2013    source источник


Ответы (1)


Очистите контейнер перед добавлением разметки.

$('#actorDisplay').empty().append(actor_markup); 
person Daryl    schedule 04.07.2013