2013-01-02 73 views
2

花費了最後幾天試圖找出解決方案後,現在我要求幫助瞭解哪些是我的代碼的錯誤/ s。從下面的外部JSON文件listviewJsonData.jsonJSON移動listview從json文件更新

var itemList = [{"title":"Title_1","description":"Blah blah1"},{"title":"Title_2","description":"Blah blah2"}]; 

我更新列表視圖開始槽下面的代碼:

<div id="dataList"> 
    <ul data-role="listview" data-inset="true"> 
     <script type="text/javascript"> 
      var serviceURL = "https://.../.../listviewJsonData.json"; 
      var outputitem = ''; 
      $.getJSON(serviceURL,function(data) { 
       $.each(data, function(index,item) { 
         outputitem += '<li><h4>'+ item[index].title +'</h4></li>'; 
         $('#dataList').append(outputitem); 
        } 
        $('#dataList').listview('refresh'); 
      }); 
     </script> 
    </ul> 
</div> 

此代碼沒有得到我任何的更新和列表視圖仍然是空的, 我我也檢查了這個post,但我無法找到解決我的問題。

任何人都可以給我任何幫助嗎? thriks很多

回答

1

您的腳本是聯機的,並可能在jQuery Mobile加載或增強您的標記之前觸發。嘗試通過將其引發爲pageinit事件的一部分來調用腳本。

http://jquerymobile.com/demos/1.2.0/docs/api/events.html

$('#aboutPage').live('pageinit',function(event){ 
    enhanceMyDataList(); 
}); 

此外,要附加<li>物品的容器<div>,不是你的<ul>。移動/合併您的id屬性。

<ul id="dataList" data-role="listview" data-inset="true">

+0

我試過你的建議,但它仍然無法正常工作。 如何調試並查看調用$ .getJSON是否將「data」分配爲「itemList」?在這一點上,我不確定在連續調用$ .each(data,function(index,item)中使用的「data」和「item」是否正確,我的意思是如果Json變量「itemList」被解析並正確分配腳本 – FreddyCBingo

+0

你可以在你的瀏覽器中使用開發者工具設置一個斷點並檢查你的變量 – andleer

+0

你可以免費給我推薦一些東西現在我只使用smultron作爲編碼的文本編輯器 – FreddyCBingo

0

試試這個:

<div> 
    <ul id="dataList" data-role="listview" data-inset="true"> 
    </ul> 
    <script type="text/javascript"> 
    var serviceURL = "https://.../.../listviewJsonData.json"; 
    $.getJSON(serviceURL,function(data) { 
     $.each(data, function(index,item) { 
     $('#dataList').append('<li><h4>'+ item.title +'</h4></li>'); 
     }); 
     $('#dataList').listview('refresh'); 
    }); 
    </script> 
</div> 

編輯:我改變了的div id來UL和腳本語法錯誤。

+0

我已經嘗試了兩種建議的解決方案,但它不想合作:S。 @andleer - 我也試過('live'和'bind') $('#mainPage')。bind 'pageinit',function(event){getDataList();}; – FreddyCBingo

+0

此評論對我而言不對, –

+0

我在更新這兩個解決方案的評論。在錯誤的框中;) – FreddyCBingo