我需要在struts 1.2中实现双列表框控件。由于Struts 1.2中没有OptionTransferSelect控件,我知道Struts 1.x支持是EOL但是我需要在当前环境中进行更改:(我从struts UI标签创建了Two List框并在Javascript的帮助下传输元素
代码
<td align="left" style="height:40" width="30%">Select Site: </td>
<td align="right" width="58%">
<html-el:select name="myForm" property="city" size="10" multiple="true">
<html-el:option value=""> </html-el:option>
<html-el:option value="ALL">-- ALL --</html-el:option>
<html-el:options collection="cityList" property="itemValue" labelProperty="itemDescription"/>
</html-el:select>
</td>
<td valign="middle">
<a href="#" onclick="listbox_moveacross('selectedSiteId', 'destinationID')">>></a>
<br/>
<a href="#" onclick="listbox_moveacross('destinationID', 'selectedSiteId')"><<</a>
</td>
<td align="right" style="height:40" width="30%">Selected Site: </td>
<SELECT id="destinationID" size="10" multiple>
<OPTION value="a">-----Select Value From city----</OPTION>
</SELECT>
</td>
<tr>
<td align="left" style="height:40" width="30%"></td>
<html-el:submit styleClass="standardButton" property="submitAction">
<bean-el:message key="save Button"/>
</html-el:submit> <br />
<br /> </td>
</tr>
我的Java脚本代码工作正常,但我想要如果用户选择提交按钮,那么从destinationID列表中选择的列表将转到表单,我可以使用它。 但是我无法将destinationID列表设置为FOrm Bean。
我的JavaScript代码
function listbox_moveacross(sourceID,destID){
var src=document.getElementById(sourceID);
var dest=document.getElementById(destID);
var picked1 = false;
for(var count=0;count<src.options.length;count++){
if(src.options[count].selected==true){picked1=true;}
}
if(picked1==false){alert("Please select an option to move.");return;}
for(var count=0;count<src.options.length;count++){
if(src.options[count].selected==true){var option=src.options[count];
var newOption=document.createElement("option");
newOption.value=option.value;
newOption.text=option.text;
newOption.selected=true;
try{dest.add(newOption,null);
src.remove(count,null);
}
catch(error){dest.add(newOption);src.remove(count);
}
count--;
}
}}
提前致谢,请告诉我如果需要提供更多信息