我正在使用java + struts。
我创建动态表行并动态加载到选择选项值 使用javascript我的代码是。
function addRow() {
var table = document.getElementById('tableID');
var rowCount = table.rows.length;
var countval = rowCount;
var row = table.insertRow(rowCount);
//country
var cell1 = row.insertCell(0);
var element1 = document.createElement("select");
element1.style.width = "250px";
element1.id = "countryId" + countval;
var o = document.createElement('option');
o.value = "0";
o.text = "[SELECT]";
element1.options.add(o);
cell1.appendChild(element1);
var o = document.createElement('option');
o.value = "1";
o.text = "India";
element1.options.add(o);
cell1.appendChild(element1);
}
这是html代码:
<input type="button" value="add" onclick="addRow()">
<table id="tableID"></table>
加载选择选项值正在对struts标记起作用:
<html:select property="countryId">
<html:optionsCollections name="countryForm" property="countryList" value="countryId" label="countryName"/>
</html:select>
以上代码正在运行,但我需要使用javascript使用选择选项值的相同逻辑。我怎样才能加载国家价值观。请任何人帮助我,谢谢&amp;预先
答案 0 :(得分:2)
我不明白为什么你需要创建动态选择,即使它是使用Struts标签解决的 但是,如果你需要它,我可以建议你一种非推荐的方法在Javascript中嵌入struts逻辑 等;
function addRow(){
alert("inside addRow");
var list = new Array();
var value = new Array();
var i = 0;
<logic:iterate name="countryForm" property="countryList" id="country">
list[i] = '<bean:write name="country" property="countryName" />';
value[i] = '<bean:write name="country" property="countryId" />';
i++;
</logic:iterate>
var table = document.getElementById('tableID');
var rowCount = table.rows.length;
var countval = rowCount;
var row = table.insertRow(rowCount);
//country
var cell1 = row.insertCell(0);
var element1 = document.createElement("select");
element1.style.width = "250px";
element1.id = "countryId" + countval;
var o = document.createElement('option');
o.value = "0";
o.text = "[SELECT]";
element1.options.add(o);
cell1.appendChild(element1);
for(i=0; i<list.length; i++){
var item = document.createElement('option');
item.value = value[i];
item.text = list[i];
element1.options.add(item);
cell1.appendChild(element1);
}
}