我的网站中有一个Select
菜单,位于表格内。
<select name = "menu" id="menu" >
<option>A</option>
<option>B</option>
<option>C</option>
</select>
我正在尝试使用JavaScript函数添加另一个选择菜单,其中相同的选项位于表格下方的一行中。
我有这个:
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var element1 = document.createElement("select");
element1.id = "id";
cell1.appendChild(element1);
}
但我不知道在这里添加选项的位置。
我希望有人可以帮助我。
答案 0 :(得分:1)
您可以通过实例化新的Option对象,然后将其传递给select元素的add
方法,为select元素添加选项。
例如:
var opt = new Option("One", 1);
element1.add(opt);
答案 1 :(得分:1)
如果你想要完全复制它,你也可以使用类似的cloneNode():
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
// Get a handle to the original select
var orgSelect = document.getElementById("menu");
// Make a clone, using true to indicate we also want to clone child nodes
var dupSelect = orgSelect.cloneNode(true);
// Change any attributes of the new select
dupSelect.id = "id";
// Append the new select
cell1.appendChild(dupSelect);
}
DEMO - 使用cloneNode()
复制select
和options
然后,你甚至可以将这个函数调用,传递任何相关参数,类似于:
function createClone(elementId, newId, includeChildNodes){
var original = document.getElementById(elementId);
var duplicate = original.cloneNode(includeChildNodes);
duplicate.id = newId;
return duplicate;
}
// Call it like this
var clonedElement = createClone('menu', 'newMenu', true);