2014-03-02 47 views
0

目前,我有我的圖片,併爲他們在我的Windows 8應用顯示,像這樣一個標題:顯示JavaScript對象中的HTML表使用WinJS

<table> 
    <tbody> 
     <tr> 
      <td>Image 1 Name</td> 
      <td>Image 2 Name</td> 
      <td>Image 3 Name</td> 
     </tr> 
     <tr> 
      <td> 
       <img src="/images/image1.jpg" width="125" height="125"> 
      </td> 
      <td> 
       <img src="/images/image2.jpg" width="125" height="125"> 
      </td> 
       <img src="/images/image3.jpg" width="125" height="125"> 
      </td> 
     </tr> 
    </tbody> 
</table> 

不過,我想能夠使一個數組這些項目使用JavaScript並通過與WinJS的數據綁定顯示。目前,我已經做對象數組像這樣:

function initialize() { 
    var images = [ 
     { name: "Image 1", photo: "/images/Image1.jpg" }, 
     { name: "Image 2", photo: "/images/Image2.jpg" }, 
     { name: "Image 3", photo: "/images/Image2.jpg" }, 
    ]; 

    var imagesList = new WinJS.Binding.List(images, { binding: true }); 

    WinJS.Binding.processAll(null, imagesList); 
    }; 

document.addEventListener("DOMContentLoaded", initialize); 

我試圖通過TD內加入跨度標籤標籤和數據雙贏的結合顯示內容改變HTML,但我不斷收到未定義。

回答

1

給一個ID,你的表,然後嘗試更換:

WinJS.Binding.processAll(null, imagesList); 

有:

var myTable = document.getElementById("my-table"); //give this ID to your table 
WinJS.Binding.processAll(myTable, imagesList); 

這shuold你的對象附加表中,這樣當你使用數據贏 - 綁定它知道要引用的對象。

另外我建議你用WinJS.UI.Repeater來創建你的表格。 http://msdn.microsoft.com/en-us/library/windows/apps/dn301916.aspx