2013-04-24 101 views
1

當試圖動態創建一個動態的ListView我得到這個在jquery mobile中創建動態列表視圖不工作?

what i get

這裏是我的JSON

{"eventid":["61","23"],"name":["Clare Birthday","Mums Birthday"],"enddate":["Sat 27th April 2013","Wed 19th June 2013"]} 

,這裏是我的代碼。

<script type="text/javascript"> 
           $(function(){ 
            var items=""; 
             $.getJSON("ajaxResponder.php?method=check-events",function(data){ 
              $("#contacts").html(
              '<li data-role="list-divider" role="heading">Live Events</li>'+ 
               $.each(data,function(index,item){ 
                '<li><a href="check-events-details?eventid='+item.eventid+'" data-transition="slide">'+item.name+ 
                '<p>End Date: '+item.enddate+'</p></li>' 
               })); 
              $("#contacts").listview("refresh"); 
             }); 
           }); 

         </script> 

      <div data-role="fieldcontain"> 
      <ul id="contacts" data-role="listview" data-divider-theme="b" data-inset="true"> 
      </ul> 
      </div> 

任何人都可以看到我哪裏去錯了嗎?

+0

我猜'var items =「」;'應該是'var items = [];' – Omar 2013-04-24 17:57:06

+0

感謝您的回答奧馬爾,但沒有運氣。 – 2013-04-24 18:06:51

+1

您沒有正確讀取數組。試試'item [index] .eventid' – Omar 2013-04-24 19:04:33

回答

1

問題是,您沒有正確讀取數組。以下解決方案基於假設您想要創建兩個鏈接到id的鏈接。有很多種讀取數組的方式,這取決於你想如何輸出數據。

var object = { 
"eventid": ["61", "23"], 
"name": ["Clare Birthday", "Mums Birthday"], 
"enddate": ["Sat 27th April 2013", "Wed 19th June 2013"] 
}; 

首先,您需要將JSON對象轉換爲數組。

var array = [object]; 

然後在裏面循環。我在這裏使用for語句來循環兩次。

​​

Demo

注:id應以字母而不是數字開頭。