选择一个下拉菜单,变化另一个下拉菜单
开发实例:
1: dwr.xml的配置
<dwr> <allow> <create javascript="sysService" creator="spring"> <param name="beanName" value="sysService" /> <include method="getStlTypes"/> </create> </allow> </dwr>
2: java类中方法把菜单包装成map
//server传到页面的对象转为map
public Map getStlTypes(String ioType) {
Map map=new HashMap();
StlType stlType=new StlType();
List list =getDaoFacade().getCommonDao().getStlTypes(new StlType(new Integer(ioType)));
for(int i=0;list!=null && i<list.size();i++){
stlType=(StlType)list.get(i);
map.put(stlType.getTypeId(), stlType.getTypeName());
}
return map;
}
3:在界面中如何使用
首先在界面中引入如下:
利用dwr的addOptions 和 removeAllOptions 方法。
<script src='dwr/interface/sysService.js'></script> <script src='dwr/engine.js'></script> <script src='dwr/util.js'></script>
function refStlType(){ sysService.getStlTypes($("ioType").value,getStlTypes); } function getStlTypes(data){ DWRUtil.removeAllOptions("stlType"); DWRUtil.addOptions("stlType",data); }
<th>业务种类</th> <td width="150"> <select name="ioType" onChange="refStlType();" > <option value="0" <%=(request.getParameter("ioType")!=null && "0".equals(request.getParameter("ioType"))?"selected='selected'":"") %> >拆入</option> <option value="1" <%=(request.getParameter("ioType")!=null && "1".equals(request.getParameter("ioType"))?"selected='selected'":"") %> >拆出</option> </select> </td> <th>拆借品种</th> <td width="150"> <select name="stlType" id="stlType" Style="width:100%"> <% for(int i=0; stlTypeList!=null && i<stlTypeList.size(); i++){ StlType c = (StlType) stlTypeList.get(i); String select = c.getTypeId().equals(stl.getStlType()) ? "selected='selected'" : ""; out.print("<option value='" + c.getTypeId() + "' " + select + ">" + c.getTypeName() + "</option>"); } %> </select> </td>