【问题标题】:jquery remove/hide an element (delete button) when one instance of clone elements remain当一个克隆元素的实例仍然存在时,jquery 删除/隐藏一个元素(删除按钮)
【发布时间】:2011-04-25 05:15:10
【问题描述】:

任务克隆一个 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);
        }
        });
    });

【问题讨论】:

  • ` $('.cloneable:last').after(c); })` 缺少分号
  • 谢谢,伊安丝。固定的。我在省略无关内容时实际上省略了。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多