Удаление динамически создаваемых дочерних узлов из формы с помощью js / jQuery? - PullRequest
0 голосов
/ 13 августа 2010

Нижеследующий пост был чрезвычайно полезен для того, что я пытаюсь сделать: Создание корзины с несколькими товарами и кнопкой PayPal в PHP

Эта часть прекрасно работает:

    var inp1 = document.createElement("input");
    inp1.setAttribute("type", "hidden");
    inp1.setAttribute("id", "item_number_" + current_item);
    inp1.setAttribute("name", "item_number_" + current_item);
    inp1.setAttribute("value", current_item);

    document.getElementById("paypal-form").appendChild(inp1);

но я немного застрял в том, как удалить элемент при необходимости ... Я ищу что-то вроде:

    document.getElementById('payPalForm').removeChild(inp1);

Но, очевидно, мне нужен способ указать / отследить эти динамически создаваемые идентификаторы ... или я упускаю более простой способ?

Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 13 августа 2010

используйте свойство parentNode для извлечения родительского элемента элемента и используйте метод removeChild родительского элемента:

inp1.parentNode.removeChild (inp1);

Ссылка: свойство parentNode

0 голосов
/ 13 августа 2010

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

function NewClass() {
    var formPP = document.getElementById('payPalForm');
    var lInputs = [];
    this.addItem = function(val) {
        var inp1 = document.createElement("input");
        inp1.setAttribute("type", "hidden");
        inp1.setAttribute("id", "item_number_" + val);
        inp1.setAttribute("name", "item_number_" + val);
        inp1.setAttribute("value", val);
        formPP.appendChild(inp1);
        lInputs.push(inp1);
    }
    this.removeItem = function(val) {
        var e = formPP.firstChild;
        while( e ) {
            var eNext = e.nextSibling;
            if( e.value == val )
                formPP.removeChild(e);
            e = eNext;
        }
    }
}

Вам придется адаптировать это для удовлетворения ваших потребностей, но, надеюсь, это даст вам начало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...