jquery json实现二级动态联动


以下为代码!需要导入json架包
function getCity1(){
var unitid = document.getElementById('addformunitid').value;
$.getJSON("../unit/getcity.do?unitid="+unitid, "", function(response){
//$ ("#departmentid").show();//将隐藏的select显示出来
$ ("#adddepartmentid option").remove();//将select中的信息清空
$ ("#adddepartmentid").attr("disabled",false);
//alert(response);
$.each(response,function(i){
//encodeURI(response[i]);
//encodeURI(fileName)
//将后台传回的信息打印到页面中
$ ("#adddepartmentid").append ("<option value="+response[i].id+">"+ response[i].departmentname +"</option>");
});
});
}
<tr>
<td class="td_title">所属单位<em>*</em></td>
<td>
<select name="eform.unitid" id="addformunitid" onChange="getCity1();">
<option value="0">请选择</option>
<#list unitList as ul>
<option value="${ul.id}">${ul.unitname}</option>
</#list>
</select>
</td>
<td class="td_title">部门<em>*</em></td>
<td>
<select name="eform.departmentid" id="adddepartmentid" disabled="disabled">
<option value=" ">请选择</option>
</select>
</td>
<td class="td_title">职位<em>*</em></td>
<td>
<select name="eform.positionid">
<option value=" ">请选择-</option>
<#list positionList as pl>
<option value="${pl.id}">${pl.positionname}</option>
</#list>
</select>
</td>
</tr>
<!-- 单位,部门二级联动 -->
<package name="unit" extends="webwork-default" namespace="/unit">
<action name="getcity" class="com.hnbus.action.unit.EmployeeJsonAction" method="getcity" >
<interceptor-ref name="defaultStack"/>
</action> </package>
/*
*文件名:EmployeeJsonAction.java
*描 述:二级联动action
*版 权:********有限公司 Copyright (c) 2008-2013,All Rights Reserved.
*创建者:向洁
*修改者:向洁
*/ package com.hnbus.action.unit; import java.io.PrintWriter;
import java.net.URLDecoder;
import java.util.List; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONArray; import org.apache.log4j.Logger;
import org.eps.action.BaseAction; import com.hnbus.model.Department;
import com.hnbus.model.Employee;
import com.hnbus.service.unit.EmployeeService;
import com.opensymphony.webwork.ServletActionContext;
/**
* @Description (二级联动action)
* @author 向洁
* @version JOHOM V1.0
* @Date 2013-8-4-下午10:54:05
* @see
*/
public class EmployeeJsonAction extends BaseAction{ private static final Logger logger = Logger.getLogger(EmployeeAction.class); @Resource
private EmployeeService employeeService;
private EmployeeForm1 eform;
private String unitid; public String getcity() throws Exception {
logger.info("选择单位ID");
//获取前台传来的值
String unitid = this.getRequest().getParameter("unitid"); HttpServletResponse response = ServletActionContext.getResponse();
/*设置字符集为'UTF-8'*/
response.setContentType("text/plain;charset=utf-8");
List<Department> department = employeeService.findSameDepartmentlist(unitid);
ServletActionContext.getRequest().getSession().setAttribute("department",department); //将list转换成JSON对象
JSONArray jr = JSONArray.fromObject(department);
PrintWriter out = this.getResponse().getWriter();
//将JSON对象转换成String类型传入前台
String jsonUser = jr.toString();
out.print(jsonUser);
out.flush();
out.close();
return null;
} /**
* 变量:employeeService
* @return 变量:employeeService
*/
public EmployeeService getEmployeeService() {
return employeeService;
} /**
* 变量:eform
* @return 变量:eform
*/
public EmployeeForm1 getEform() {
return eform;
} /**
* 变量:eform
* @param eform (Set the variable:eform)
*/
public void setEform(EmployeeForm1 eform) {
this.eform = eform;
} /**
* 变量:employeeService
* @param employeeService (Set the variable:employeeService)
*/
public void setEmployeeService(EmployeeService employeeService) {
this.employeeService = employeeService;
} /**
* 变量:logger
* @return 变量:logger
*/
public static Logger getLogger() {
return logger;
} /**
* 变量:unitid
* @return 变量:unitid
*/
public String getUnitid() {
return unitid;
} /**
* 变量:unitid
* @param unitid (Set the variable:unitid)
*/
public void setUnitid(String unitid) {
this.unitid = unitid;
} }
class EmployeeForm1 extends Employee{}
jquery json实现二级动态联动的更多相关文章
- Ajax和JSON完成二级菜单联动的功能
首先需要找好JSON的包哦: 链接:http://pan.baidu.com/s/1jH6gN46 密码:lbh1 1:首先创建一个前台页面,比如secondMenu.jsp,源码如下所示: < ...
- jQuery + json 实现省市区三级联动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js 省份城市二级动态联动的例子
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 《DWZ笔记一》<select>动态联动菜单
联动菜单,即组合框Combo box,在DWZ文档中对组合框combox的是这样描述的: 在传统的select 用class 定义:class=”combox”, html 扩展:保留原有属性name ...
- Json 基于jQuery+JSON的省市联动效果
helloweba.com 作者:月光光 时间:2012-09-12 21:57 标签: jQuery JSON Ajax 省市联动 省市区联动下拉效果在WEB中应用非常广泛,尤其在一些 ...
- 份-城市,基于jQuery的AJAX二级联动,用Struts2整合AJAX【非数据库版】
package loaderman.provincecity; import java.io.IOException; import java.util.LinkedHashSet; import j ...
- JavaScript(jquery)实现二级菜单联动
为什么写这篇随笔? 二级菜单的联动一直是我心中一块石头,犹记得大一的时候只会用一点的Dreamweaver,当时做二级菜单难受啊,啥都不会,网上找了些资料,也看不懂别人的代码更别说用起来了 前些日子. ...
- 省市联动_简单的Demo,适用于各种二级菜单联动
最近搞了一个功能,是查询页面需要用到二级菜单联动,获取到选中的属性value传入到后台. 平常都是用AJAX或者JQuery ,通过XML或者JSON的方式,这样的话需要调用数据库,像典型得到省市联动 ...
- JQuery+Ajax实战三级下拉列表联动(八)
本片文章为练习,项目中不会这样写: 一:涉及到的知识点: jQuery Dom操作 jQuery Ajax操作 ASP.net中的json操作 二:用了自动代码生成器 1.Dal层的代码: publi ...
随机推荐
- CentOS 升级Python3.X和pip3
目的:实现python3 and python2 共存,pip2 and pip3共存 一.安装依赖 yum install openssl-devel -y yum install zlib-dev ...
- CSUOJ 1008 Horcrux
Description A Horcrux is an object in which a Dark wizard or witch has hidden a fragment of his or h ...
- 系统导出数据到excel,数据量过大(大约10W)条,导致服务器 cpu 100%解决方法
系统导出数据到excel,数据量过大(大约10W)条,导致服务器 cpu 100%解决方法
- count 【mysql】
如果你的需要是统计总行数时,为什么要使用count(*),而避免使用指定具体的列名? count()函数里面的参数是列名的的时候,那么会计算这个字段有值项的次数.也就是,该字段没有值的项并不会进入计算 ...
- type与instance区别
class Foo(object): pass class Bar(Foo): pass obj = Bar() # isinstance用于判断,对象是否是指定类或其派生类的实例 print(isi ...
- [Arc063F] Snuke's Coloring 2
[Arc063F] Snuke's Coloring 2 题目大意 给你一个网格图,一些点上有标记,求边长最大空白矩形. 试题分析 专门卡\(\log^2 n\)系列. 首先由题意我们可以找到答案的下 ...
- uoj407 【IOI2018】狼人
link 题意: 给一张n个点m条边的无向图,有q个询问,每次询问给出s,t,l,r,问你能否从s走到t,并且初始为人形,结束时必须为狼形,你是人形的时候必须避开$[1,l)$的节点,狼形的时候必须避 ...
- bzoj 2998 第k小字串
这道题用后缀数组貌似会T. 后缀自动机做法: t==0:第k小的本质不同字串 首先把后缀自动机建出来,我们会得到一个DAG,并且只存在一个点入度为0(我们称之为根),可以证明字符串的任意一个本质不同的 ...
- HDU 1692 Destroy the Well of Life 水题
Destroy the Well of Life Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showprob ...
- NOIP 2008 传纸条 NOIP 2000 方块取数 多线程DP
思路都是一样,建立一个四维dp然后跑一发就完了 当然,也可以像我这么帅的人,降成三维再傻傻的跑一发啦啦啦~ #include<iostream> #include<stdio.h&g ...