为社么我的ajax没起作用?
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%String BasePath = request.getScheme() + "://"
+ request.getServerName()
+":"
+request.getServerPort()
+request.getContextPath()
+"/";
%>
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<base href = "<%=BasePath%>">
<meta charset="UTF-8">
<title>添加员工信息</title>
</head>
<body>
<c:if test = "${staff == null }">
<jsp:forward page = "../staff.do?action=getById"></jsp:forward>
</c:if>
<h1>修改员工信息</h1>
<form action="staff.do?action=edit" method = "post">
<input type = "hidden" name = "id" value = "${staff.id }">
姓名:<input type = "text" name = "name" value = "${staff.name }"><br>
电话:<input type = "text" name = "phone" value = "${staff.phone }"><br>
部门:<select name = "dept_id"></select><br>
领导:<select name = "leader"></select><br>
工资:<input type = "number" name = "salary" value = "${staff.salary }"><br>
<input type = "submit" value = "修改"><br>
${error }
<script type = "text/javascript" src = "js/jquery-2.1.4.js"></script>
<script type = "text/javascript">
$.ajax({
//属性,值
url : 'dept.do?action=getAll',//请求地址
type : 'post',//请求类型
data : {action : 'getAll'},//请求的参数
dataType : 'json',//返回的数据类型
success:function(data){
//当请求成功后,调用该函数
//服务器处理成功,返回的数据类型与dataType指定的类型相同
//data就是从服务器返回的数据
//单选按钮和复选框,默认选中设置checked = "checked"
//下拉列表项默认选中,设置selected = "selected"
var html = "<option value = '0'>请选择部门</option>";
$.each(data , function(index , item){
if(item.id == ${staff.dept_id}){
html += "<option value ='"+item.id+"' selected = 'selected'>"+item.name+"</option>";
}else{
html += "<option value ='"+item.id+"'>"+item.name+"</option>";
}
});
$("select[name = 'dept_id']").html(html);
var dept_id = ${staff.dept_id};
$.ajax({
url : 'staff.do?action=getByDeptId',
type : 'post',
data :{action:'getByDeptId' , dept_id : dept_id} ,
dataType :'json' ,
success:function(data){
var html = "<option value = '0'>请选择领导</option>";
$.each(data , function(index , item){
if(${staff.id} == item.id ){
}else if(item.id == ${staff.leader != null ? staff.leader : 0}){
html += "<option value = '"+item.id+"' selected = 'selected'>"+item.name+"</option>";
}else{
html += "<option value = '"+item.id+"'>"+item.name+"</option>";
}
})
$("select[name = 'leader']").html(html);
},
error:function(){
alert("请求失败");
}
});
},
error:function(){
//请求失败时,回调该函数
alert("请求失败");
}
});
//绑定一个事件
$("select[name = 'dept_id']").change(function(){
//alert("你变了");
var dept_id = $(this).val();
//alert(dept_id);
//获取这个部门的所有员工
if(dept_id > 0){
$.ajax({
url : 'staff.do?action=getByDeptId',
type : 'post',
data :{action:'getByDeptId' , dept_id : dept_id} ,
dataType :'json' ,
success:function(data){
var html = "<option value = '0'>请选择领导</option>";
$.each(data , function(index , item){
if(${staff.id} != item.id){
html += "<option value = '"+item.id+"'>"+item.name+"</option>";
}
})
$("select[name = 'leader']").html(html);
},
error:function(){
}
});
}else{
$("select[name = 'leader']").html("");
}
});
</body>
</html>
为社么我的ajax没起作用?