2016-07-15 4 views
0

Ich kopiere ein Textfeld, aber seine ID ist kein Inkrement. Gibt es eine andere Art und Weise eine spezifische ID nach dem Kopieren ein TextfeldesIch füge ein Textfeld dynamisch über jQuery und ID des Textfelds wird nicht inkrementiert

$(function(){ 
 
    $('#idbtn').click(function(){ 
 
    $('#Institute').clone().attr('id','Institute_' + $(this).index()).insertAfter('#Institute'); 
 
    });//click 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input type="text" id="Institute"> 
 
<input type="button" id="idbtn" value="add"/>

+0

Aber id erhöht wird. –

+0

Institute_0 wird in der Konsole für jedes Textfeld angezeigt –

+0

Genau hier, wenn ich Elemente inspiziere sehe ich inkrementierende IDs z. 'Institute_3' –

Antwort

0

Halten Sie eine separate Variable und Schrittweite, die jedes Mal, wenn die Funktion aufgerufen zu erstellen. jQuerys .index() ist eine DOM-Suche, nicht was Sie überhaupt wollen.

$(function() { 
 
    var i = 0; // inside the closure 
 
    $('#idbtn').click(function() { 
 
     $('#Institute').clone().attr('id', 'Institute_' + ++i).insertAfter('#Institute'); 
 
    }) 
 
    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    <div id="Institute">DIV</div> 
 

 
<button id="idbtn">click me</button>

Verwandte Themen