2014-02-10 4 views
0

Я создал здесь код, который будет хранить содержимое массива в списке, нажав кнопку, моя проблема заключается в том, что содержимое списка будет стекаться. Я хочу очистить содержимое предыдущего списка каждый раз, когда нажимаю кнопку и могу снова отображать обновленное содержимое хранимого массива.Очистка содержимого списка

<div id="MainPage" data-role="page" > 

     <div data-role="content"> 

      <a href="#ViewPage" data-role="button" onClick="displayArray()">RENAME</a> 

     </div> 

    </div> 

    <div id="ViewPage" data-role="page" > 

     <div data-role="header" data-position="fixed"> 
      <a href="#MainPage" data-role="button" data-icon="back">BACK</a> 
      <h1>View Page</h1> 
     </div> 

     <div data-role="content"> 
      <ul id="viewlist" data-role="listview" data-filter="true" data-filter-placeholder="Sample Contents" data-inset="true"> 
        <!-- array contents goes here --> 
      </ul> 
     </div> 

    </div> 

    <script> 

     var sampleContent = new Array(); 

     displayArray() 
     { 
     //i want to place a code here that would clear the listview contents 
      for(var scan=0; scan<sampleContent.length; detect++) 
      { 
       //looping of the array contents into the listview 
       $('#viewlist').append('<li><a href="#">' + sampleContent[scan] + '</a></li>').listview("refresh"); 
      }  
     } 

    </script> 

Я застрял в этой проблеме прямо сейчас, любая помощь или совет будут с радостью приняты заблаговременно.

+0

Вы можете показать ваш 'sampleContent)' функция ( –

+0

sampleContent это массив я используется для хранения данных в ListView. Я хочу очистить список в функции displayArray() до цикла for. Я попробовал ('#viewlist'). empty(); но после этого он не добавляет содержимое списка. –

ответ

1

Это должно выполнить эту работу. Просто добавьте все данные, затем вы очистите список и добавьте всю строку для получения более быстрого результата.

displayArray() 
    { 
    //i want to place a code here that would clear the listview contents 
    var data='';  
    for(var scan=0; scan<sampleContent.length; detect++) 
     { 
      data+='<li><a href="#">' + sampleContent[scan] + '</a></li>'; 
     } 
    $("#viewlist").empty().append(data);   
    } 
+0

это работает, но дизайн списка отсутствует после второго ввода, второй экземпляр запуска функции displayArray(). Вот скриншот моего вывода. http://i.imgur.com/IN7UIOA.jpg –

+0

Просто добавьте .listview ("refresh") в конец последней строки: $ ("# viewlist"). empty(). append (data) .listview ("обновить"); – ezanker

0

Недавно я работал со списками, это то, как я пошел об этом:

displayArray() 
    { 
    //Emptys viewlist 
    $('#viewlist').empty(); 
    //i want to place a code here that would clear the listview contents 
     for(var scan=0; scan<sampleContent.length; detect++) 
     { 
      //looping of the array contents into the listview 
      $('#viewlist').append('<li><a href="#">' + sampleContent[scan] + '</a></li>'); 
     } 
     //Update list 
     $("#viewlist").listview("refresh"); 
    } 

Вы должны опустошить, Append затем обновить.

+0

не работает, список остается пустым. –

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