2011-07-23 34 views
5

我有一個從$ .ajax調用創建的列表。數據注入似乎正在工作,但HTML不會爲listView提供JQueryMobile樣式。任何人都可以提供任何見解,爲什麼這可能會發生?來自Ajax調用的JQuery Mobile動態列表

這裏是AJAX調用:

function getF(){ 
     // Show a loading message 
     var SomeData_list = document.getElementById("SomeData_list"); 
     SomeData_list.innerHTML = "<li>Loading...</li>"; 

     var gUrl = "SomeData_list.php?; 
     // Do the ajax call 
     $.ajax({ 
      url: gUrl, 
      // Callback (onsuccess) 
      success: function(d, status, req){ 
      var json = eval('(' + d + ')'); 
      showSomeData(json); 
      }, 
      // Error handler 
      error: function(req, status, err){ 
      // Alert the user that something went wrong 
      var group_list = document.getElementById("group_list"); 
      SomeData_list.innerHTML = "<li>An error occured. Conversations could not be loaded<br>"+status + ": " + err + "</li>"; 
      } 
     }); 
     } 

這個代碼顯示的信息:

function showSomeData(json){ 
     var SomeData_list = document.getElementById("SomeData_list"); 
    SomeData_list.innerHTML = ""; 
    var dt =json.results; 
     if (dt.length <= 0){ 
     SomeData_list.innerHTML += "<li>Error Message.</li>"; 
     } 

     else{ 
      for (var i=0; i<dt.length; i++){ 
      SomeData_list.innerHTML += "<ul data-role='listview' data-theme='d'><li class=\"data-role='listview' data-theme='d'\"><a href='index.html'> <img src='photo.png' width='70' /><h3>Some Stuff Here</h3><p>213</p></a></li></ul>"; 
     } 

     } 
    } 

回答

10

一定要刷新列表元素一旦你填充它,否則,正如你發現-的JQM樣式不得到應用:

SomeData_list.listview('refresh'); 
+0

奔 謝謝回覆。我會在哪裏放置它?我之前嘗試過,沒有運氣。這應該列在循環中嗎? –

+0

就像我上面說的那樣,直到你完成將項目附加到列表中,即在**循環之後的**之後,不要調用它。 – Ben

0
$('#list').trigger("create");...