我在<table>
内有这个内容,我的addFields()
函数中的命名似乎不起作用...是否有人知道我需要哪些替代代码行document.getElementById('materials') += "<name='"+iteration2+"'>";
?
HTML:
<td>
<p id="addFields">
<input type="number" required name="productquantity1" min="1" max="1000">
<select name="productline1" id="materials">
<option value="123">123</option>
</select>
</p>
</td>
<td valign="top">
<button type="button" onclick="addFields();">+</button>
</td>
JavaScript的:
var counter = 2;
function addFields() {
var iteration2 = "productline" + counter;
var select = document.getElementById('materials').cloneNode(true);
document.getElementById('materials') += "<name='"+iteration2+"'>"; //does not work
document.getElementById('addFields').appendChild(select);
counter++;
}
答案 0 :(得分:0)
也许,你应该这样做:
document.getElementById('materials').innerHTML += "<name='"+iteration2+"'>";
您正在为元素本身添加一个字符串。使用innerHTML
来完成它。
答案 1 :(得分:0)
简单地说,
select.name = iteration2;
答案 2 :(得分:0)
var counter = 2;
function addFields() {
var iteration2 = "productline" + counter;
// clone select tag
var select = document.getElementById('materials').cloneNode(true);
// change cloned tag name
select.setAttribute ('name', iteration2);
// add to parent
document.getElementById('addFields').appendChild(select);
counter++;
}