app开发者平台在数字化时代的重要性与发展趋势解析
539
2022-11-26
struts ajax多级下拉菜单
先看项目截图:
看看要加入的jar包
除了struts核心的那个几个之外,我们还需要这两个
OK先看struts.xml
我们看看用于处理请求的类。
package cdm.module.file.action;import java.util.ArrayList;import java.util.List;import com.opensymphony.xwork2.ActionSupport;public class SearchFileAction extends ActionSupport { /** * */ private static final long serialVersionUID = -6756954284459457436L; public int provinceId; public List
至于Municipality,与Province,省里面有个一id和name,市除了id和name外还有一个provinceId,来指示它位于哪个省。
<%@ page contentType="text/html; charset=GB2312"%><%@taglib prefix="s" uri="/struts-tags"%>
省级别 | 市级别 |
| |
核心在引入的findInf.js,代码如下:
function getProvince(obj) { var provinceId = obj.options[obj.selectedIndex].value; var select = document.getElementById("conditionId0"); if (provinceId < 0) { select.innerHTML = ""; select1.innerHTML = ""; var con = new Option(); con.text = "-请先选择省-"; con.value = "-1"; var mat = new Option(); mat.text = "-请先选择省-"; mat.value = "-1"; select.options.add(con); select.disabled=true; return; } var url = "getMunicipality.action?provinceId=" + provinceId; new Ajax.Request(url, {method:"post", onComplete:function (request) { select.innerHTML = ""; var o = new Option(); o.text = "-请选择市-"; o.value = "-1"; select.options.add(o); var tableList = JSON.parse(request.responseText); for (var i = 0; i < tableList.length; i++) { var _o = new Option(); _o.text = tableList[i].name; _o.value = tableList[i].id; select.options.add(_o); } select.disabled=false; }, asynchronous:true});}
完工!
遇到的几个问题
findInf要等上面两个引入后才能引用。
当时复制的时候没有注意这一点。
启用firefox的调试功能,看到Ajax is not define 才想到这个问题。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~