Kuzzy Kuzzy - 6 months ago 26
Javascript Question

How to add unique ID to dynamically generated inputs?

Basic question; I have this code:

var partipiansRow = '<div class="form-row "><input type="text" id="name" class="textbox" /> <input type="text" class="textbox" id="email" /></div>'

$(".button").live("click", function(){
$('.form-participants').after(partipiansRow);
});


It creates unlimited rows with 2 inputs, how can I set them unique IDs? For example:

<div class="form-row "><input type="text" id="name1" class="textbox" /> <input type="text" class="textbox" id="email1" /></div>
<div class="form-row "><input type="text" id="name2" class="textbox" /> <input type="text" class="textbox" id="email2" /></div>
<div class="form-row "><input type="text" id="name3" class="textbox" /> <input type="text" class="textbox" id="email3" /></div>


Thanks.

Answer

Use a counter to keep track of the ID:

var nextRowID = 0;

$(".button").live("click", function(){
    var id = ++nextRowID;
    var partipiansRow = '<div class="form-row "><input type="text" id="name' + id + '" class="textbox" /> <input type="text" class="textbox" id="email' + id + '" /></div>';
    $('.form-participants').after(partipiansRow);         
});
Comments