0

student.jspデータベースから選択ドロップダウンリストをロードするページがあります。

<s:select list="ftyList" name="fid" listKey="fid" listValue="name" label="Select a Faculty" />

ここで、[追加] ボタンをクリックしたときに、まったく同じドロップダウン リストをさらに追加する必要があります。そのために、div以下のように [追加] ボタンと私の JavaScript コードを用意し ました。

<div id="div">
    <button onclick="addListFunction()">Add</button>
</div>

addDropDown.js:

function addListFunction() {    
    var d = document.getElementById("div");
    d.innerHTML += "<p><s:select list='ftyList' name='fid' listKey='fid' listValue='name' label='Select a Faculty' /></p>";
}

問題は、「追加」ボタンをクリックすると、空のスペースしか追加されないことです。firebug を使用すると、Struts タグが HTML タグの代わりに上記と同じように出力されていることがわかりました。

4

3 に答える 3

4

<s:select>は、javascript から直接追加できず、サーバー側で実行されると想定される struts タグです。

Add ボタンをクリックすると、 jQuery Clone メソッドを使用できます。

<s:select list="ftyList" name="fid" listKey="fid" listValue="name" cssClass="fidSelect" label="Select a Faculty" />

function addListFunction() {    
    $('.fidSelect').clone().insertAfter(".fidSelect");
}
于 2013-11-13T08:46:27.160 に答える