2010-09-23 84 views
1

基本问题;我有这个代码:如何为动态生成的输入添加唯一ID?

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);   
}); 

它创建2个输入无限行,我怎么能设置它们的唯一ID?例如:

<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> 

谢谢。

回答

7

使用计数器来跟踪的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);   
}); 
+1

I t的工作。非常感谢! – Kuzzy 2010-09-23 22:11:14

+1

不要忘记将答案标记为已接受。 – Tim 2010-09-24 12:55:23

-1

使用当前时间new Date().getTime()

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

我们可以创建动态和独特的ID喜欢

function createId() { 
    return 'xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx'.replace(/x/g, function (c) { 
    var r = Math.random() * 16 | 0; 
    return r.toString(16); 
    }); 
} 

看这里Generate dynamic unique id