0

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

しかし、ここにオプションを追加する場所がわかりません。

誰かが私を助けてくれることを願っています。

4

2 に答える 2

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

デモ-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);
于 2013-03-14T22:11:37.687 に答える
1

新しいOptionオブジェクトをインスタンス化して select 要素のメソッドに渡すことで、select 要素にオプションを追加できますadd

例えば:

var opt = new Option("One", 1);
element1.add(opt);
于 2013-03-14T22:06:10.443 に答える