2016-12-04 63 views
-1

這裏是添加一個帶有「刪除」圖標和一個停止增加ID的新textarea的代碼。 (請在下面的鏈接去撥弄)刪除克隆元素後的精確編號

$(document).ready(function() { 
    i = 1; 
    $('.add').click(function() { 

    i++ 

    $(".append_data").append('<div class="textarea_cloned" id="' + i + '"><textarea name=txt_' + i + '>Textarea ' + i + '</textarea><div data-id="' + i + '" class="remove"> X </div></div>'); 
    }); 

    $('.append_data').on('click', '.remove', function(e) { 

    e.preventDefault(); 
    //$(this).closest('.textarea_cloned').remove(); 
    var id = $(this).data('id'); 
    $('#' + id + '').remove(); 
    return false; 
    }); 

    // end of it all 
}); 

當我點擊「添加」一次 - 正在與ID 2生成一個新的textarea ...然後我決定將其刪除。然後我再次點擊「添加」,我想再次得到的是ID 2,但它會是ID 3.我知道我已經解釋了它有點麻煩,下面是所需算法:

  1. 單擊「添加新的textarea」
  2. 點擊‘X’(刪除它)
  3. 點擊‘添加新的textarea’再次,它應該具有ID 2而不是ID 3.

這裏是小提琴爲您提供方便: https://jsfiddle.net/7avs08cx/

謝謝

回答

1

添加i--;$('#' + id + '').remove();

+0

才意識到應該是這樣,該死=))) I = ID-1; night..heh ....謝謝你! 還有一個問題,如果你不介意(更難) - 如果我添加,如果我添加五個新的textareas,將刪除#3和#4 ...如何從1到3安排其餘的問題? 也許我應該把它作爲一個單獨的問題? – Rossitten

+0

好吧,你需要重新安排所有的文本區域,每次點擊刪除 –

+1

看到我的小提琴@Rossitten。我沒有重新安排它https://jsfiddle.net/udcvaxot/1/ –

1

您可以獲取已完成的文本區域的計數,然後繼續。 我已經創造了獨特的類計數類名:txtarea

$(document).ready(function() { 
 
    
 
    $('.add').click(function() { 
 
    var i = $('.txtarea').length; 
 
\t \t i = i+1; 
 
$(".append_data").append('<div class="textarea_cloned txtarea" id="' + i + '"><textarea name=txt_' + i + '>Textarea ' + i + '</textarea><div data-id="' + i + '" class="remove"> X </div></div>'); 
 
    }); 
 

 
    $('.append_data').on('click', '.remove', function(e) { 
 
    e.preventDefault(); 
 
    var id = $(this).data('id'); 
 
    $('#' + id + '').remove(); 
 
    return false; 
 
    }); 
 

 
    // end of it all 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="old"> 
 
    <textarea>Textarea 1</textarea> 
 
</form> 
 
<div class="txtarea append_data"></div> 
 
<div class="add">Add new text area</div>