Extending Clone Table Rows functionality - changing row ID

前端 未结 2 1342
情书的邮戳
情书的邮戳 2021-01-13 23:16

I have this fiddle at: http://jsfiddle.net/radi8/EwQUW/33/

Notice that the initial table is defined is:

2条回答
  •  隐瞒了意图╮
    2021-01-13 23:34

    You may try this js code.

    Scenario:-I was having the scenario of making clone of table inside a div and also removing the clone on click of remove clone link.

        
    

    Here i am updating my answer for providing the code to remove a clone.

    $(document).ready(function(){
    
    $('.removeClone').live('click',function() {
    
            var length=$('.cloneTable').length;
            if(length==1)
                {
                alert('There should be atleast one clone');
                return false;
                }
    
    
            var id = $(this).attr('id');
            var countVal=parseInt(id)+parseInt(1);
            $(this).closest('.cloneTable').remove();
             for(var removecount=parseInt(countVal);removecount<=length;removecount++)
                {
                 $clone=jQuery("#maintable"+removecount);
                 if(removecount==1)
                     {
                     $clone.find(':text,:file').each(function() {
                            var textId=$(this).attr("id");
                            var testVal=textId.replace(/[0-9]/g, '');
                            $(this).attr('id',testVal);
    
                        });
    
                     $clone.find("a").each(function() {
                            var textId=$(this).attr("id");
                            var testVal=textId.replace(/[0-9]/g, '');
                            $(this).attr('id',testVal+id);
    
                        });
    
                     $clone.find("span").each(function() {
                            var textId=$(this).attr("id");
                            var testVal=textId.replace(/[0-9]/g, '');
                            $(this).attr({
                             id: testVal
                         });
                             $(this).html('Test '+removecount+'');
                        });
    
                     $clone.attr( 'id', function() { 
                         var textId=$(this).attr("id");
                         var testVal=textId.replace(/[0-9]/g, '');
                          return (testVal);
                          });
                     id=parseInt(id)+parseInt(1);
                }  
    
                 else
                     {
                    $clone.find(':text,:file').each(function() {
                        var textId=$(this).attr("id");
                        var testVal=textId.replace(/[0-9]/g, '');
                        $(this).attr('id',testVal+id);
    
                    });
                    $clone.find("a").each(function() {
                        var textId=$(this).attr("id");
                        var testVal=textId.replace(/[0-9]/g, '');
                        $(this).attr('id',testVal+id);
    
                    });
    
                    $clone.find("span").each(function() {
                        var textId=$(this).attr("id");
                        var testVal=textId.replace(/[0-9]/g, '');
    
                        $(this).attr({
                         id: testVal+id
                     });
                         $(this).html('Test '+removecount+'');
                    });
    
                     $clone.attr( 'id', function() { 
                         var textId=$(this).attr("id");
                         var testVal=textId.replace(/[0-9]/g, '');
                          return (testVal+id);
                          });
                     id=parseInt(id)+parseInt(1);
                     }
                } 
             count=parseInt(count)-parseInt(1);
        });
    });
    

    This work's fine for me.Hope this code may help you.

提交回复
热议问题