2013-05-06 52 views
0

我有以下代碼:JavaScript數組到表格佈局破

function test() { 
    var results = ""; 
    var myArray = []; 

    myArray[0] = "Thur May 09 2013 00:00:00 GMT+0100 (GMT Daylight Time)"; 
    myArray[1] = "Thur May 10 2013 00:00:00 GMT+0100 (GMT Daylight Time)";  
    myArray[2] = "Thur May 10 2013 00:00:00 GMT+0100 (GMT Daylight Time)"; 
    myArray[3] = "Thur May 10 2013 00:00:00 GMT+0100 (GMT Daylight Time)"; 

results = "<table border='1'>"; 
    for (var i = 0; i < myArray.length; i+=2) 

    {  
     results += "<td>Dates</td>"; 
     results += "<td>Price</td>"; 
     results += "<td>Available?</td>"; 
     results += "<tr><td>" + myArray[i+1] + "<tr><td>" + (myArray[i+1]===undefined ? '' : myArray[i+1])+ "</tr></td>"; 
    } 

    results += "<table><br /> <br />"; 

    var div = document.getElementById("associatedAssets"); 
    div.innerHTML = results;  
} 
test(); 

我想以下佈局:

Dates | Prices | Available 

我想我的代碼來填充日期值,但我也想空行填充,以便用戶可以手動輸入值。

這裏是我的jsfiddle:http://jsfiddle.net/zE2bH/67/

+0

退房DIZ ... http://jsfiddle.net/zE2bH/71/ – 2013-05-06 10:10:48

回答

1

您不使用任何<th></th>標籤。這些在你的表中定義了header

results = "<table border='1'>"; 
results += "<th>"; 
results +=  "<td>Dates</td>"; 
results +=  "<td>Price</td>"; 
results +=  "<td>Available?</td>"; 
results += "</th>"; 
for (var i = 0; i < myArray.length; i++) {  
    results += "<tr>"; 
    results +=  "<td>" + myArray[i] + "</td>"; 
    results +=  "<td>PRICE</td>"; 
    results +=  "<td>" + (myArray[i]===undefined ? '' : myArray[i])+ "</td>"; 
    results += "</tr>"; 
} 
results += "<table>"; 

由於tableheader是靜態的,我只是讓這些在HTML中,只有填補table與相應的rows。請注意,這僅適用於無法顯示任何表格的情況。

1

希望這將有助於

<!DOCTYPE html> 
<html> 
<head> 
<script> 
    function test() { 
     var results = ""; 
     var myArray = []; 
     myArray[0] = "Thur May 09 2013 00:00:00 GMT+0100 (GMT Daylight Time)"; 
     myArray[1] = "Thur May 10 2013 00:00:00 GMT+0100 (GMT Daylight Time)"; 
     myArray[2] = "Thur May 10 2013 00:00:00 GMT+0100 (GMT Daylight Time)"; 
     myArray[3] = "Thur May 10 2013 00:00:00 GMT+0100 (GMT Daylight Time)"; 
     results = "<table border='1'><tr><td>Dates</td><td>Price</td><td>Available?</td></tr>"; 
     for (var i = 0; i < myArray.length; i++) 
     { 
      var date = myArray[i + 1]; 
      if (date == undefined) { 
       date = ""; 
      } 
      results += "<tr><td>" + date 
        + "</td><td>price here</td><td>isAvailable here</td></tr>"; 
     } 
     results += "<table><br /> <br />"; 
     var div = document.getElementById("associatedAssets"); 
     div.innerHTML = results; 
    } 
</script> 
</head> 
<body> 
    <div id="associatedAssets"></div> 
    <script> 
     test(); 
    </script> 
</body> 
</html>