三级联动+回显、多对多添加+回显

三级联动+回显、多对多添加+回显

实体类

package com.wpx.pojo;

import java.io.Serializable;

public class Area implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	Integer id;
	int pid;
	String name;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public int getPid() {
		return pid;
	}
	public void setPid(int pid) {
		this.pid = pid;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@Override
	public String toString() {
		return "Area [id=" + id + ", pid=" + pid + ", name=" + name + "]";
	}
	
	
	
}



-------------------------------------------------------------
package com.wpx.pojo;

import java.io.Serializable;

public class Depart implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private Integer	id;
	private String name;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@Override
	public String toString() {
		return "Depart [id=" + id + ", name=" + name + "]";
	}
	
	
	
}



-----------------------------------------------------
package com.wpx.pojo;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;


public class Doc  implements   Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 5016425494383260711L;
	private Integer id;
	private String name;
	private String  cardno;
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date birthday;
	private int provinceId;
	private int cityId;
	private int countyId;
	private int departId;
	private int gender;
	private String mobile;
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date enterDate;
	private String  img;
	
	private  Area province;
	private  Area city;
	private  Area county;
	
	List<Skill> skills;
	
	private Depart depart;
	private int age;//
	private int workAge;//
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getCardno() {
		return cardno;
	}
	public void setCardno(String cardno) {
		this.cardno = cardno;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public int getProvinceId() {
		return provinceId;
	}
	public void setProvinceId(int provinceId) {
		this.provinceId = provinceId;
	}
	public int getCityId() {
		return cityId;
	}
	public void setCityId(int cityId) {
		this.cityId = cityId;
	}
	public int getCountyId() {
		return countyId;
	}
	public void setCountyId(int countyId) {
		this.countyId = countyId;
	}
	public int getDepartId() {
		return departId;
	}
	public void setDepartId(int departId) {
		this.departId = departId;
	}
	public int getGender() {
		return gender;
	}
	public void setGender(int gender) {
		this.gender = gender;
	}
	public String getMobile() {
		return mobile;
	}
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	public Date getEnterDate() {
		return enterDate;
	}
	public void setEnterDate(Date enterDate) {
		this.enterDate = enterDate;
	}
	public String getImg() {
		return img;
	}
	public void setImg(String img) {
		this.img = img;
	}
	public Area getProvince() {
		return province;
	}
	public void setProvince(Area province) {
		this.province = province;
	}
	public Area getCity() {
		return city;
	}
	public void setCity(Area city) {
		this.city = city;
	}
	public Area getCounty() {
		return county;
	}
	public void setCounty(Area county) {
		this.county = county;
	}
	public List<Skill> getSkills() {
		return skills;
	}
	public void setSkills(List<Skill> skills) {
		this.skills = skills;
	}
	public Depart getDepart() {
		return depart;
	}
	public void setDepart(Depart depart) {
		this.depart = depart;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public int getWorkAge() {
		return workAge;
	}
	public void setWorkAge(int workAge) {
		this.workAge = workAge;
	}
	@Override
	public String toString() {
		return "Doc [id=" + id + ", name=" + name + ", cardno=" + cardno + ", birthday=" + birthday + ", provinceId="
				+ provinceId + ", cityId=" + cityId + ", countyId=" + countyId + ", departId=" + departId + ", gender="
				+ gender + ", mobile=" + mobile + ", enterDate=" + enterDate + ", img=" + img + ", province=" + province
				+ ", city=" + city + ", county=" + county + ", skills=" + skills + ", depart=" + depart + ", age=" + age
				+ ", workAge=" + workAge + "]";
	}
}
---------------------------------------------------------------

package com.wpx.pojo;

public class DocVo extends Doc{
	
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	int page=1;
	int pageSize=10;
	public int getPage() {
		return page;
	}
	public void setPage(int page) {
		this.page = page;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	@Override
	public String toString() {
		return "DocVo [page=" + page + ", pageSize=" + pageSize + "]";
	}
	
}
------------------------------------------------------------
package com.wpx.pojo;

import java.io.Serializable;

public class Skill implements Serializable{
	private Integer	id;
	private String name;
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	@Override
	public String toString() {
		return "Skill [id=" + id + ", name=" + name + "]";
	}
}


service

package com.wpx.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.wpx.pojo.Area;
import com.wpx.pojo.Depart;
import com.wpx.pojo.Doc;
import com.wpx.pojo.DocVo;
import com.wpx.pojo.Skill;

public interface DocService {
	//关于医生的增删改查
	PageInfo<Doc> list(DocVo docVo);
	//添加
	int add(Doc doc);
	//修改
	int update(Doc doc);
	//删除
	int del(int[] ids);
	//回显
	Doc getById(int id);
	
	//根据父id 查询直接子节点
	List<Area> listArea(int pid);
	//列出擅长
	List<Skill> listSkills();
	//列出科室
	List<Depart> listDepart();
	
	
}

dubbo服务

package com.wpx;

import java.io.IOException;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class StartDocService {
	public static void main(String[] args) throws IOException {
		
		System.out.print("服务启动。。。。。。");
		  ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext-dubbo-provider.xml",
			"classpath:applicationContext-dao.xml") ;
		  System.out.print("服务启动  ok");
		  //加阻塞
		    System.in.read();
			
		
	}

}

Dao接口

package com.wpx.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.wpx.pojo.Area;
import com.wpx.pojo.Depart;
import com.wpx.pojo.Doc;
import com.wpx.pojo.DocVo;
import com.wpx.pojo.Skill;

public interface DocDao {

	List<Doc> list(DocVo docVo);

	int add(Doc doc);

	int addDocSkill(@Param("docId") int docId, @Param("skillId") int skillId);

	List<Depart> listDepart();

	Doc getById(int id);

	List<Skill> listSkills();

	int delDoc(int[] ids);

	List<Area> listAea(int pid);

	int delDocSkillByDoc(int ...ids);

	int udate(Doc doc);

}

service实现类

package com.wpx.service.impl;

import java.util.List;

import org.apache.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Autowired;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.wpx.dao.DocDao;
import com.wpx.pojo.Area;
import com.wpx.pojo.Depart;
import com.wpx.pojo.Doc;
import com.wpx.pojo.DocVo;
import com.wpx.pojo.Skill;
import com.wpx.service.DocService;

@Service(interfaceClass=DocService.class)
public class DocServiceImpl implements DocService{
	
	@Autowired
	DocDao docDao;
	

	@Override
	public PageInfo<Doc> list(DocVo docVo) {
		// TODO Auto-generated method stub
		PageHelper.startPage(docVo.getPage(),docVo.getPageSize());
		
		return new PageInfo<Doc>(docDao.list(docVo));
	}

	@Override
	public int add(Doc doc) {
		// TODO Auto-generated method stub
		//添加主表
		int result = docDao.add(doc);
		//添加子表
		List<Skill> skills = doc.getSkills();
		for (int i = 0; i < skills.size(); i++) {
			//插入中间表
			result+=docDao.addDocSkill(doc.getId(),skills.get(i).getId());
		}
		
		return result;
	}

	@Override
	public int update(Doc doc) {
		// TODO Auto-generated method stub
		//添加主表
		int result = docDao.udate(doc);
		
		//删除中间表
		result += docDao.delDocSkillByDoc(doc.getId());
		
		//添加子表
		List<Skill> skills = doc.getSkills();
		for (int i = 0; i < skills.size(); i++) {
			//插入中间表
			result+=docDao.addDocSkill(doc.getId(),skills.get(i).getId());
		}
		
		return result;
	}

	@Override
	public int del(int[] ids) {
		// TODO Auto-generated method stub
		//删除子表
		int result = docDao.delDocSkillByDoc(ids);
		//删除主表
		result += docDao.delDoc(ids);
		return result;
	}

	@Override
	public List<Area> listArea(int pid) {
		// TODO Auto-generated method stub
		return docDao.listAea(pid);
	}

	@Override
	public List<Skill> listSkills() {
		// TODO Auto-generated method stub
		return docDao.listSkills();
	}

	@Override
	public List<Depart> listDepart() {
		// TODO Auto-generated method stub
		return docDao.listDepart();
	}

	@Override
	public Doc getById(int id) {
		// TODO Auto-generated method stub
		return docDao.getById(id);
	}
	
}

Mapper

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.wpx.dao.DocDao">

	<!-- List<Doc> list(DocVo docVo); -->
	<resultMap type="doc" id="docMapper">
		<id column="id" property="id"></id>
		<association property="province" column="provinceId" select="findAreaByid"></association>
		<association property="city" column="cityId" select="findAreaByid"></association>
		<association property="county" column="countyId" select="findAreaByid"></association>
		<association property="depart" column="departId" select="findDepartByid"></association>
		<collection property="skills" column="id"  select="findSkillsByDocId" ></collection>
	</resultMap>
	
	<select id="list" resultMap="docMapper">
		select * from tb_doc 
	</select>
	
	<select id="findAreaByid" resultType="area">
		select * from tb_area where id=#{value}
	</select>
	
	<select id="findDepartByid" resultType="depart">
		select * from tb_depart where id=#{value}
	</select>
	
	<select id="findSkillsByDocId" resultType="skill">
		SELECT s.* from tb_doc_skill ds LEFT JOIN  tb_skill s ON s.id=ds.skillId 
   		  WHERE ds.docId=#{value}
	</select>
	
	<!-- int add(Doc doc); -->
	<insert id="add" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
			insert into tb_doc(name,cardno,birthday,provinceId,cityId,countyId,departId,mobile,enterDate,img,gender)
				values (#{name},#{cardno},#{birthday},#{provinceId},#{cityId},#{departId},#{countyId},#{mobile},#{enterDate},#{img},#{gender}) 	
	</insert>
	
	<!-- int addDocSkill(Integer id, Integer id2); -->
	<insert id="addDocSkill">
		insert into tb_doc_skill(docId,skillId) values(#{docId},#{skillId})
	</insert>
		
	<!-- List<Depart> listDepart(); -->
	<select id="listDepart" resultType="depart">
		select * from tb_depart
	</select>

	<!-- Doc getById(); -->
	<select id="getById" resultMap="docMapper">
	select * from tb_doc where id=#{value}
	</select>

	<!-- List<Skill> listSkills(); -->
	<select id="listSkills" resultType="skill">
		select * from tb_skill
	</select>

	<!-- int delDoc(int[] ids); -->
	<delete id="delDoc">
		delete from tb_doc where id in 
		<foreach collection="array" item="id" open="(" close=")" separator=",">
			#{id}
		</foreach>
	</delete>

	<!-- List<Area> listAea(int pid); -->
	<select id="listAea" resultType="area">
		select * from tb_area where pid=#{value}
	</select>

	<!-- int delDocSkillByDoc(int ...ids); -->
	<delete id="delDocSkillByDoc">
		delete from tb_doc_skill where  docId in
		<foreach collection="array" item="id" open="(" close=")" separator=",">
			#{id}
		</foreach>
	</delete>

	<!-- int udate(Doc doc); -->
	<update id="udate">
		update tb_doc
		set name=#{name},
			cardno=#{cardno},
			birthday=#{birthday},
			provinceId=#{provinceId},
			cityId=#{cityId},
			countyId=#{countyId},
			countyId=#{countyId},
			mobile=#{mobile},
			enterDate=#{enterDate},
			img=#{img},
			gender=#{gender}
		where id=#{id}
	</update>

</mapper>

Controller类

package com.wpx.controller;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import com.wpx.common.FileUtils;
import com.wpx.pojo.Area;
import com.wpx.pojo.Depart;
import com.wpx.pojo.Doc;
import com.wpx.pojo.Skill;
import com.wpx.service.DocService;

@Controller
public class DocController {
	
	@Reference
	DocService docService;
	
	/** 
	 * 
	 * @return
	 */
	@RequestMapping("toadd")
	public String toAdd(HttpServletRequest request) {
		// 获取所有的省份
		List<Area> listProince = docService.listArea(0);
		request.setAttribute("proinces", listProince);
		//
		List<Skill> listSkills = docService.listSkills();
		request.setAttribute("skills", listSkills);
		
	    List<Depart> listDepart = docService.listDepart();
	    request.setAttribute("departs", listDepart);
	    
	    return "add";
		
	}
	
	/** 
	 * 
	 * @return
	 */
	@RequestMapping("toupdate")
	public String toUpdate(HttpServletRequest request,int id) {
		
		Doc doc = docService.getById(id);
		request.setAttribute("doc", doc);
		
		System.out.println("doc is " + doc);
		
		// 获取所有的省份
		List<Area> listProince = docService.listArea(0);
		request.setAttribute("proinces", listProince);
		//
		List<Skill> listSkills = docService.listSkills();
		request.setAttribute("skills", listSkills);
		
	    List<Depart> listDepart = docService.listDepart();
	    request.setAttribute("departs", listDepart);
	    
	    //获取医生的所在省的id 根据这个获取市的列表
	    if(doc.getProvince()!=null) {
	    	List<Area> listcities = docService.listArea(doc.getProvince().getId());
	    	request.setAttribute("cities", listcities);
		}
		
		//获取医生的所在市的id 根据这个获取县的列表
	    if(doc.getCity()!=null) {
	    	List<Area> listcounties = docService.listArea(doc.getCity().getId());
	    	request.setAttribute("counties", listcounties);
	    }
	    return "update";
		
	}
	
	@RequestMapping("listChild")
	@ResponseBody
	public List<Area> listChild(HttpServletRequest request,int pid) {
		List<Area> listArea = docService.listArea(pid);
		return listArea ;
	}
	
	/** 
	 * 
	 * @return
	 */
	@RequestMapping("add")
	public String add(HttpServletRequest request,Doc doc,int[] selSkillId,MultipartFile file) {
		try {
			String path = FileUtils.processFile(file);
			doc.setImg(path);
		} catch (IllegalStateException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		List<Skill> skills= new ArrayList<Skill>();
		for (int i = 0; i < selSkillId.length; i++) {
			Skill skill = new Skill();
			skill.setId(selSkillId[i]);
			skills.add(skill);
		}
		doc.setSkills(skills);
		System.out.println("sadfas"+doc.getGender());
		docService.add(doc);
		return "rediect:list";
	}
	
	/** 
	 * 
	 * @return
	 */
	@RequestMapping("update")
	public String update(HttpServletRequest request,Doc doc,int[] selSkillId,MultipartFile file) {
		try {
			String path = FileUtils.processFile(file);
			doc.setImg(path);
		} catch (IllegalStateException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		List<Skill> skills= new ArrayList<Skill>();
		for (int i = 0; i < selSkillId.length; i++) {
			Skill skill = new Skill();
			skill.setId(selSkillId[i]);
			skills.add(skill);
		}
		doc.setSkills(skills);
		docService.update(doc);
		return "rediect:list";
	}
	
	
}

添加页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>    
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
	<script type="text/javascript" src="${pageContext.request.contextPath}/resource/jquery/jquery-3.4.1.js"></script>
<title>添加</title>
</head>
<body>
	<form action="${pageContext.request.contextPath}/add" method="post" enctype="multipart/form-data">
	<table>
		<tr>
			<td>姓名</td>
			<td><input name="name"></td>
		</tr>
		<tr>
			<td>身份证</td>
			<td><input name="cardno"></td>
		</tr>
		<tr>
			<td>电话</td>
			<td><input name="mobile"></td>
		</tr>
		<tr>
			<td>性别</td>
			<td> <input type="radio" name="gender" value="1">&nbsp;&nbsp;&nbsp;&nbsp;
			      <input type="radio" name="gender" value="2"></td>
		</tr>
		<tr>
			<td>生日</td>
			<td><input  type="date" name="birthday"></td>
		</tr>
		<tr>
			<td></td>
			<td>
			<select name="provinceId" id="provinceId" onchange="changeSub('provinceId','cityId')">
				<option value="-1">---请选择---</option> 	
				<c:forEach items="${proinces}" var="p">
					<option value="${p.id}">${p.name}</option> 	
				</c:forEach>
			</select> </td>
		</tr>
		<tr>
			<td></td>
			<td>
			<select name="cityId" id="cityId"  onchange="changeSub('cityId','countyId')">
				<option value="-1">---请选择---</option> 	
			</select> </td>
		</tr>
		<tr>
			<td></td>
			<td>
			<select name="countyId" id="countyId">
				<option value="-1">---请选择---</option> 	
			</select> </td>
		</tr>
		<tr>
			<td>科室</td>
			<td>
			<select name="departId" id="departId">
				<option value="-1">---请选择---</option> 	
				<c:forEach items="${departs}" var="d">
					<option value="${d.id}">${d.name}</option> 	
				</c:forEach>
			</select> </td>
		</tr>
		
		<tr>
			<td>擅长</td>
			<td>
				<c:forEach items="${skills}" var="s">
					<input type="checkbox" name="selSkillId" value="${s.id}">${s.name} &nbsp;&nbsp;&nbsp;&nbsp; 
				</c:forEach>
			</td>
		</tr>
		<tr>
			<td>头像</td>
			<td>
				<input type="file" name="file">
			</td>
		</tr>
		<tr>
			<td>入职日期</td>
			<td><input  type="date" name="enterDate"></td>
		</tr>
		
		<tr>
			<td></td>
			<td><button type="submit" >提交</button></td>
		</tr>
	</table>
	</form>
	<script type="text/javascript">
	
		function changeSub(parId,childId){
			var pid=$("#"+parId).val();
			//获取到被影响的下拉框的对象
			var childObj = $("#"+childId)
			$.post("${pageContext.request.contextPath}/listChild",{pid,pid},function(data){
				//遍历data 
				//清空下一个级别
				childObj.empty();
				//
				childObj.append('<option value="-1">---请选择---</option> ')			
				for ( var i in data) {
					childObj.append('<option value="'+data[i].id+'">'+data[i].name+'</option> ')	
				}
			})
		}
	</script>
</body>
</html>

修改页面加回显

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>    
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
	<script type="text/javascript" src="${pageContext.request.contextPath}/resource/jquery/jquery-3.4.1.js"></script>
<title>修改</title>
</head>
<body>
	<form action="${pageContext.request.contextPath}/update" method="post" enctype="multipart/form-data">
	<table>
		<tr>
			<td>姓名</td>
		
			<td>
				<input type="hidden" name="id" value="${doc.id}">
			<input name="name" value="${doc.name}"></td>
		</tr>
		<tr>
			<td>身份证</td>
			<td><input name="cardno" value="${doc.cardno}"></td>
		</tr>
		<tr>
			<td>电话</td>
			<td><input name="mobile" value="${doc.mobile}"></td>
		</tr>
		<tr>
			<td>性别</td>
			<td> <input type="radio" name="gender" value="1">&nbsp;&nbsp;&nbsp;&nbsp;
			      <input type="radio" name="gender" value="2"></td>
		</tr>
		<tr>
			<td>生日</td>
			<td><input  type="date" name="birthday" value='<fmt:formatDate value="${doc.birthday}" pattern="yyyy-MM-dd"/>'></td>
		</tr>
		<tr>
			<td></td>
			<td>
			<select name="provinceId" id="provinceId" onchange="changeSub('provinceId','cityId')">
				<option value="-1">---请选择---</option> 	
				<c:forEach items="${proinces}" var="p">
					<option value="${p.id}" ${doc.province.id==p.id?'selected':''}>${p.name}</option> 	
				</c:forEach>
			</select> </td>
		</tr>
		<tr>
			<td></td>
			<td>
			<select name="cityId" id="cityId"  onchange="changeSub('cityId','countyId')">
				<option value="-1">---请选择---</option> 	
				<c:forEach items="${cities}" var="c">
					<option value="${c.id}" ${doc.city.id==c.id?'selected':''}>${c.name}</option> 	
				</c:forEach>
			</select> </td>
		</tr>
		<tr>
			<td></td>
			<td>
			<select name="countyId" id="countyId">
				<option value="-1">---请选择---</option> 	
				<c:forEach items="${counties}" var="c">
					<option value="${c.id}" ${doc.county.id==c.id?'selected':''}>${c.name}</option> 	
				</c:forEach>
			</select> </td>
		</tr>
		<tr>
			<td>科室</td>
			<td>
			<select name="departId" id="departId">
				<option value="-1">---请选择---</option> 	
				<c:forEach items="${departs}" var="d">
					<option value="${d.id}">${d.name}</option> 	
				</c:forEach>
			</select> </td>
		</tr>
		
		<tr>
			<td>擅长</td>
			<td>
				<c:forEach items="${skills}" var="s">
					<input type="checkbox" name="selSkillId" 
						<c:forEach items="${doc.skills}" var="selSkill">
							<c:if test="${selSkill.id==s.id}">checked</c:if>
						</c:forEach>
					value="${s.id}">${s.name} &nbsp;&nbsp;&nbsp;&nbsp; 
				</c:forEach>
			</td>
		</tr>
		<tr>
			<td>头像</td>
			<td>
				<input type="file" name="file">
				<img src="/pic/${doc.img}" width="150" height="150">
			</td>
		</tr>
		<tr>
			<td>入职日期</td>
			
			<td><input  type="date" name="enterDate"  value='<fmt:formatDate value="${doc.enterDate}" pattern="yyyy-MM-dd"/>'></td>
		</tr>
		
		<tr>
			<td></td>
			<td><button type="submit" >提交</button></td>
		</tr>
	</table>
	</form>
	<script type="text/javascript">
	
		function changeSub(parId,childId){
			var pid=$("#"+parId).val();
			//获取到被影响的下拉框的对象
			var childObj = $("#"+childId)
			$.post("${pageContext.request.contextPath}/listChild",{pid,pid},function(data){
				//遍历data 
				//清空下一个级别
				childObj.empty();
				//
				childObj.append('<option value="-1">---请选择---</option> ')			
				for ( var i in data) {
					childObj.append('<option value="'+data[i].id+'">'+data[i].name+'</option> ')	
				}
			})
		}
	</script>
</body>
</html>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值