三级联动通过AJAX 将后台的数据返回在页面上。 主要是下拉框的联动。

7 篇文章 0 订阅

//根据浏览器的类型创建xmlHttpRequest对象
function createXmlHttpRequest(){
if(window.ActiveXObject){
return new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest()){
return new XMLHttpRequest();
}
}
var xmlHttpRequest;
//异步响应函数
function search(para1,para2){
var url="/projectNameQuery.jsp?depid="+para1+"&projectType="+para2;
xmlHttpRequest=createXmlHttpRequest();
xmlHttpRequest.onreadystatechange=callback;
xmlHttpRequest.open("GET",url,true);
xmlHttpRequest.send(null);

}
//回调函数
function callback(){
var projectName=document.getElementById("projectname");
//请求被成功响应,已经接收到结果
if(xmlHttpRequest.readyState==4&&xmlHttpRequest.status==200){
var myJson = eval("(" + xmlHttpRequest.responseText + ")");
projectName.length=0;
projectName.options.add(new Option("请选择事项名称", "-1"));
for (i = 0; i < myJson.length; i ++) {
projectName.options.add(new Option(myJson[i].name, myJson[i].keyid));
}
} else {
projectName.length = 0;
projectName.options.add(new Option("请等待...","-1"));
}
}
function projectLoad(){
var url="/projectNameQuery.jsp?depid=-1&projectType=-1";
xmlHttpRequest=createXmlHttpRequest();
xmlHttpRequest.onreadystatechange=callback;
xmlHttpRequest.open("GET",url,true);
xmlHttpRequest.send(null);
}
//下拉框改变事件
function changeSelect(){
var zxdep=document.getElementById("zxdep");
var projectType=document.getElementById("projecttype");
var projectName=document.getElementById("projectname");
projectName.length=0;
if(zxdep.value==-1&&projectType.value==-1){
projectName.options.add(new Option("请选择事项名称","-1"));
}
else{
search(zxdep.value,projectType.value);
}
}


<%@ page language="java" pageEncoding="GBK"%>
<%@ include file="/WEB-INF/include/getOatDBBean.jsp"%>
<%
String depId = request.getParameter("depid");
//String depId="2c90808e2aefd7cf012af40289830069";
String projectType = request.getParameter("projectType");
String whereSQL = "where 1=1";
String[][] result = null;
if(depId != null && projectType != null && !"-1".equals(depId) && !"-1".equals(projectType)){
whereSQL += " and t.xmlx='"+projectType+"'and t.department_id='"+depId+"' ";
}
if(depId!=null&&projectType!=null&&!"-1".equals(depId)){
whereSQL += " and t.department_id='"+depId+"' ";
}
if(depId!=null&&projectType!=null&&!"-1".equals(projectType)){
whereSQL += " and t.xmlx='"+projectType+"'";
}
String sql = "select t.keyid,t.name from projectinfo t "+whereSQL;
String callback = "[";
try{

result = otaDbbean.getManyRows_ManyColumns(sql);
for(int i=0; i<result.length; i++){
callback += "{keyid:'" + result[i][0] + "',name:'" + result[i][1] + "'},";
}
callback = callback.substring(0,callback.length()-1) + "]";
response.getWriter().write(callback);
}catch (Exception ex){
System.out.println("projectNameQuery.jsp error : " + ex);
callback += "]";
response.getWriter().write(callback);
} finally {
otaDbbean.cleanUp();
}
%>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值