当用户单击按钮时,如何动态创建输入字段ID时如何设置输入字段ID。 我有一个文本字段和一个组合框对,将在点击时创建。因此,每次用户单击并创建一对时,我需要为它们分配唯一的ID,以便可以将这些值对保存到数组中以供以后检索。
function createattr() {
var input = document.createElement("input");
input.type = "text";
input.placeholder="Attribute name";
input.className = "attr-textfield-style";
inputval.appendChild(input);
//Display the drop down menu
var newDiv=document.createElement('div');
var html = '<select>', attrtypes = typeGenerate(), i;
for(i = 0; i < attrtypes.length; i++) {
html += "<option value='"+attrtypes[i]+"'>"+attrtypes[i]+"</option>";
}
html += '</select>';
newDiv.className="attr-combobox-style";
newDiv.innerHTML= html;
inputval.appendChild(newDiv);
}
答案 0 :(得分:1)
解决了它。这是一个简单的路线。只是想分享这个以供将来参考。
input.id="attr"+attrID;
将attrID声明为全局变量,在函数结束前递增,以便为每个输入字段分配唯一ID
我刚刚将'attr'字符串添加到ID,以便与此文本字段一起选择的组合框将具有相同的数字(即一对 - &gt;文本字段id- attr3,combobox- type3。下一对将有 - &gt;文本字段id-attr4,combobox- type4)
答案 1 :(得分:0)
如果元素永远不会被删除,您可以计算现有元素并相应地给出ID,例如:
var newId = document.getElementsByClassName('attr-combobox-style').length;
input.id = 'attr' + newId;
或者您可以使用时间戳,它绝对是唯一的:
input.id = 'attr' + new Date().getTime();