Вопрос

Я пытаюсь удалить одно поле, которое добавляю в jQuery, но не могу удалить его после добавления. Кто-нибудь может сказать мне, что я сделал?

    function appendBox( id )
    {
        $("#listContainer").append("<div id=\"appendbox["+ id +"]\"><a href=\"javascript:removeBox("+ id +");\">remove</a></div>");
    }
    function removeBox( id )
    {
        $("#appendbox["+ id +"]").slideUp();
    }
Это было полезно?

Решение

function appendBox( id )
{
    $("#listContainer").append("<div id=\"appendbox-"+ id +"\"><a href=\"javascript:removeBox("+ id +");\">remove</a></div>");
}
function removeBox( id )
{
    $("#appendbox-"+ id ).slideUp();
}

#appendbox[something] означает не «элемент id addbox[something]», а множество разных вещей, зависящих от чего-то.

Другие советы

Для полностью рабочего скрипта вам необходимо обернуть параметр в removeBox в одинарных кавычках, потому что ему нужна строка: javascript:removeBox('"+ id +"'); в противном случае он пытается отправить несуществующую переменную.

function appendBox( id )
{
    $("#listContainer").append("<div id=\"appendbox-"+ id +"\"><a href=\"javascript:removeBox('"+ id +"');\">remove</a></div>");
}

function removeBox( id )
{
    $("#appendbox-"+ id ).slideUp();
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top