Исправить неправильное вложение - PullRequest
0 голосов
/ 24 декабря 2009
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;
}

... эта функция создает неверную таблицу. Мне нужно «счетчик» «имя» и «удалить ссылку» в отдельных столбцах. Как правильно создать и закрыть все теги?

Большое спасибо

Ответы [ 2 ]

1 голос
/ 24 декабря 2009

Я не совсем уверен, что вы пытаетесь сделать, но, возможно, это может быть то, что вы ищете.

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;
}
1 голос
/ 24 декабря 2009

Похоже, вы просто забыли закрывающий тег для таблицы. Попробуйте вместо этого:

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>";
    }

Обновление: В своем комментарии вы заявили, что

Мне все еще нужно разделить счетчик, имя и ссылку в отдельном [sic] 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>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...