jquery удалить / скрыть элемент (кнопка удаления), когда остается один экземпляр элемента-клона - PullRequest
0 голосов
/ 25 апреля 2011

Задача Клонировать элемент div (.cloneable) и его дочерние элементы формы, показать скрытую привязку, которая позволяет пользователю удалять экземпляры div.cloneable.

Проблема Я хочу скрыть привязку (id dltBtn), если остался только один экземпляр .cloneable.

Попытки решения Я пытался изменить фильтры и селекторы на .cloneable или сделать так, чтобы он скрывался только после того, как их осталось только один экземпляр, но безрезультатно.

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

Код ниже:


 $(document).ready(function() { 
        $('#dltBtn').hide();
        $('#addBtn').click(function() {
            $('#dltBtn').show();
            var c = $('.nestedDiv').find('.cloneable:first').clone(true);
        // Loop through inputs under cloneable
        // resetId, reset value will go here stubbed out for now
        $('.cloneable:last').after(c);                  
        });         
        $('#dltBtn').click(function() {
        if (confirm('continue delete?')) {
           $(this).closest('.cloneable').remove();
           $('#dltBtn:last').hide($('.cloneable:child').length  == 0 );
        } else {
             $('#dltBtn:parent').hide($('.cloneable').length  == 1);
        }
        });
    });

1 Ответ

1 голос
/ 25 апреля 2011

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

clone.find(':input').val('').attr('id', function(index, oldId) { 
   return oldId + index;
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...