1:jsp

//级联ajax处理函数

function areaChange(){
    var areano=document.all("areaNo").value;
    var url="${pageContext.request.contextPath}/infoAction.do?method=queryPeopleByPosition";
      $.post(url,{areaNo:areano,position:"200"},
        function(personList){ 
              var personList=personList.personList; 
              $("#businessManager").empty();//删除所有option选项
              document.all("businessManager").options.add(new Option('-请选择-',''));
              for(var p in personList){
                 document.all("businessManager").options.add(new Option(personList[p],personList[p]));
              }               
        },"json");
    }

<td>地区</td>
<td>
       <html:select property="areaNo" style="width: 80px" onchange="areaChange()">
              <html:option value="">-请选择-</html:option>
              <c:forEach items="${listArea }" var="i">
               <html:option value="${i.nodeNo }">${i.nodeName }</html:option>
              </c:forEach>
             </html:select>
</td>
<td>业务经理</td>
<td>
             <html:select property="businessManager" styleId="businessManager" style="width: 80px">
              <html:option value="">-请选择-</html:option>
              <c:forEach items="${teamList}" var="i">
               <html:option value="${i.staffName }">${i.staffName }</html:option>
              </c:forEach>
             </html:select>
</td>

2、java处理方法

//查询根据地区动态查询对应职级人员信息(动态级联使用)
 public ActionForward queryPeopleByPosition(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)throws Exception{
  try {
   String areaNo=request.getParameter("areaNo");
   String position=request.getParameter("position");
   P2pStaffInfo queryParams = new StaffInfo();
      queryParams.setAreaNo(areaNo);// 地区
      queryParams.setPosition(position);//

List<StaffInfo> personJavaList = infoLogic.queryStaffInfo(queryParams);

JSONObject personList=new JSONObject();
   JSONObject person=new JSONObject();
   if (null!=personJavaList&&personJavaList.size()>0) {
    for (P2pStaffInfo po:personJavaList) {
     person.put(po.getStaffName(), po.getStaffName());
    }
   }
   personList.put("personList", person);
   response.setCharacterEncoding("gbk");
   PrintWriter pw=response.getWriter();
   pw.write(personList.toString());
   pw.flush();
   pw.close();
  } catch (Exception e) {
   log.error("根据职级动态级联地区查询出错!", e);
   e.printStackTrace();
  }
  return null;
 }

Ajax+json实现菜单动态级联的更多相关文章

  1. Ajax json jquery实现菜单案例

    需求: 运用AJAX请求文件menu.json,配置菜单栏,并实现以下功能点: 1. 点击向左箭头,菜单向左移动,隐藏 2. 点击向右箭头,菜单向右移动,显示3. 点击一级菜单,被点击菜单的子菜单显示 ...

  2. JS动态级联菜单

    JS动态级联菜单是前端常用的一个功能,特此抽时间研究了下,附上代码 <html> <head> <meta charset="utf-8" /> ...

  3. 案例19-页面使用ajax显示类别菜单

    1 版本一 版本只能在首页显示类别,当切换到了其它页面就不会显示 1 web层IndexServlet代码 package www.test.web.servlet; import java.io.I ...

  4. javascript里面的数组,json对象,动态添加,修改,删除示例

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. javascript如何解析json对javascript如何解析json对象并动态赋值到select列表象并动态赋值到select列表

    原文 javascript如何解析json对象并动态赋值到select列表 JSON(JavaScriptObject Notation)一种简单的数据格式,比xml更轻巧.JSON是JavaScri ...

  6. Struts+Spring+Hibernate项目整合AJAX+JSON

    1.什么是AJAX AJAX是 "Asynchronous JavaScript and XML" 的简称,即异步的JavaScript和XML. 所谓异步,就是提交一个请求不必等 ...

  7. 纯js遍历json获取值动态为select添加option

    遍历json数组 并动态为select添加option 直接上代码,重要部分有注解 <!DOCTYPE html> <html lang="en"> < ...

  8. 基于MVC4+EF5.0+Ajax+Json+CSS3的简单注册页面(get&post)

    使用mvc4可以很快速的创建页面,但封装的过多,难免会有些性能上的问题.所以基于此,通过使用简单的手写html,加ajax,json来创建一个注册页面,会比较干净,简洁. 本项目的环境是MVC4+EF ...

  9. ajax+json模态框中分页(spring+struts+mybatis+easyui分页插件)

    0.业务需求: 点击每个数字的时候可以显示每个对应的详细记录.也就是得点击11的时候拿着开采部与C级去查询.

随机推荐

  1. touch id 开发

    min platform : 8.0 #import <LocalAuthentication/LocalAuthentication.h> LAContext *context = [[ ...

  2. enmo_day_10

    RMAN 创建备份集 : backup as backupset format ‘/backup/df_%d_%s_%p/bus’ tablespace hr_data; 创建镜像副本 :(备份慢,恢 ...

  3. Android 微信UI 、点击操作

    上一篇,我们介绍了微信界面的相关知识点.今天我们就来把微信的界面做出来. 首先我们新建一个layout-->LinearLayout-->weixin.xml 我们使用上中下线性布局,采用 ...

  4. poj1502 spfa最短路

    //Accepted 320 KB 16 ms //有n个顶点,边权用A表示 //给出下三角矩阵,求从一号顶点出发到各点的最短路的最大值 #include <cstdio> #includ ...

  5. char*或string转换成LPCWSTR

    VS2010默认是Unicode的,在VC 6.0中编译成功的项目在VS2010中常会出现类型错误. 经常出现的错误是:不能从const char *转换为LPCWSTR 如使用CreateDC(&q ...

  6. Oracle帮助类

    /// <summary> /// Copyright (C) Maticsoft /// 数据访问基础类(基于Oracle) /// 可以用户可以修改满足自己项目的需要. /// < ...

  7. Application.Exit()结束程序,但线程还在的解决方法。

    出现此情况大多原因是使用了多线程编程,或者你所调用的dll使用了多线程.我们知道,一般情况下的线程执行完指定的任务之后是会关闭了的,但是如果对于一些循环类线程,或者忘记关掉的线程时,这个时候就需要我们 ...

  8. linux 远程管理

    启动linuxssh 服务: /etc/init.d/ssh 启动网络服务: service network restart linux远程登录配置过程: 首先在ubuntu下安装openssh-se ...

  9. 为sproto添加python绑定

    项目地址:https://github.com/spin6lock/python-sproto 第一次写Python的C扩展,留点笔记记录一下.主要的参考文档是:Extending Python wi ...

  10. 将Rmarkdown文件转为pdf文件

    knitr包只能够将R markdown文件转为html格式,若想要将其转化为pdf格式,还要安装另一个包 # Install and load package install.packages(&q ...