2009-12-24 62 views
0
function drawinventoryList() { 
    inventoryArray.sort(); 
    var inventoryString = ""; 
    for (x in inventoryArray) { 
     arrayValue = inventoryArray[x]; 
     var counter = parseInt(x) + 1; 
     if (counter == 1) { 
      inventoryString = "<table width='100%' celpadding='0' cellspacing='0' style='border:1px solid #d00;'>" 
     } 
     if (arrayValue.substring(0, arrayValue.indexOf("@")) != "XXXXXXXX") { 
      inventoryString = inventoryString + "<tr><td>" + counter + ". " + arrayValue.substring(0, arrayValue.indexOf("@")) + ", " + arrayValue.substring(arrayValue.indexOf("@") + 1) + " (<a href=\"javascript:removeinventory('" + x + "')\">remove</a>)</td></tr>"; 
     } 
    } 
    if (inventoryString == "") inventoryString = "None." 
    document.getElementById("selectedInventories").innerHTML = inventoryString; 
} 

...此函數創建一個無效的表。我需要單獨列中的「櫃檯」「名稱」和「刪除鏈接」。如何正確創建和關閉所有標籤?修復不正確的嵌套

非常感謝

回答

1

看起來你只是忘記了表的結束標記。試試這個:

function drawinventoryList() { 
    inventoryArray.sort(); 
    var inventoryString = ""; 
    for (x in inventoryArray) { 
     arrayValue = inventoryArray[x]; 
     var counter = parseInt(x) + 1; 
     if (counter == 1) { 
      inventoryString = "<table width='100%' celpadding='0' cellspacing='0' style='border:1px solid #d00;'>" 
     } 
     if (arrayValue.substring(0, arrayValue.indexOf("@")) != "XXXXXXXX") { 
      inventoryString = inventoryString + "<tr><td>" + counter + ". " + arrayValue.substring(0, arrayValue.indexOf("@")) + ", " + arrayValue.substring(arrayValue.indexOf("@") + 1) + " (<a href=\"javascript:removeinventory('" + x + "')\">remove</a>)</td></tr>"; 
     } 
    } 
    if (inventoryString == "") { 
     inventoryString = "None."; 
    } else { 
     inventoryString = inventoryString + "</table>"; 
    } 
    document.getElementById("selectedInventories").innerHTML = inventoryString; 
} 

唯一的變化是從:

if (inventoryString == "") inventoryString = "None." 

到:

if (inventoryString == "") { 
     inventoryString = "None."; 
    } else { 
     inventoryString = inventoryString + "</table>"; 
    } 

更新:您的評論,你說,

我仍然需要separ在吃了櫃檯,名稱和鏈接分開[原文] TD

這可能只是將一些</td><td>部分,類似的事情:

inventoryString = inventoryString + 
    "<tr>" + 
     "<td>" + counter + ".</td>" + 
     "<td>" + arrayValue.substring(0, arrayValue.indexOf("@")) + ", " + 
      arrayValue.substring(arrayValue.indexOf("@") + 1) + "</td>" + 
     "<td>(<a href=\"javascript:removeinventory('" + x + 
      "')\">remove</a>)</td>" + 
    "</tr>"; 
+0

謝謝,我仍然需要分開計數器,名稱和鏈接在分開的TD,但我會給它一個鏡頭。 – 3zzy 2009-12-24 05:05:18

+0

@Nimbuz,檢查更新。我認爲我已經有了分離權(counter,name-comma-domain,link),但理論至少應該是正確的。 – paxdiablo 2009-12-24 05:27:56

1

我不完全知道你正在嘗試做的但也許這可能是你正在尋找的。

function drawinventoryList() { 
    inventoryArray.sort(); 
    var inventoryString = "<table width='100%' celpadding='0' cellspacing='0' style='border:1px solid #d00;'>"; 
    var count = 0; 
    for (x in inventoryArray) { 
     arrayValue = inventoryArray[x];    
     count++; 
     if (arrayValue.substring(0, arrayValue.indexOf("@")) != "XXXXXXXX") { 
      inventoryString = inventoryString + "<tr><td>" + counter + ". " + arrayValue.substring(0, arrayValue.indexOf("@")) + ", " + arrayValue.substring(arrayValue.indexOf("@") + 1) + " (<a href=\"javascript:removeinventory('" + x + "')\">remove</a>)</td></tr>"; 
     } 
    } 

    if (count == 0) { 
     inventoryString = "None."; 
    } else { 
     inventoryString = inventoryString + "</table>"; 
    } 
    document.getElementById("selectedInventories").innerHTML = inventoryString; 
} 
+0

我不確定這是需要什麼。這在inventoryArray沒有元素時會創建一個空表 - 這與原始的不同,並且無法獲取字符串「無」。與此代碼。 – paxdiablo 2009-12-24 04:34:48

+0

paxdiablo ...指出。我做了一些小改動來糾正這個問題。 – 2009-12-24 04:35:29

+0

這樣比較好。 – paxdiablo 2009-12-24 04:36:24