当一个克隆元素实例保留时,jquery删除/隐藏一个元素(删除按钮)

时间:2011-04-25 05:15:10

标签: jquery filter clone parent-child show-hide

任务克隆div元素(.cloneable)及其子表单元素,显示隐藏的锚点,允许用户删除div.cloneable的实例。

问题一旦只剩下一次.cloneable实例,我想隐藏锚点(id dltBtn)。

尝试过的解决方案我曾尝试修改.cloneable上的过滤器和选择器,或者只是在它们只剩下一个实例时才会隐藏但无效。

最后,我希望能够遍历输入元素,重置它们并修改它们的ID。

代码如下:

 

 $(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 个答案:

答案 0 :(得分:1)

  

最后,我希望能够遍历输入元素,重置它们并修改它们的ID。

clone.find(':input').val('').attr('id', function(index, oldId) { 
   return oldId + index;
})