我有一个像这样的jsp表单......第二个选择框中的值,应该根据第一个选择框(状态)中的值加载。我正在使用jQuery,Spring MVC来检索结果。但是我首先要求我的控制器中的stateId值,而这个值没有进入我的控制器
addEmployee.jsp
<form:form id="employeeForm" modelAttribute="personaladdress" method="post" action="${baseURL}employee/save" class="form-horizontal" enctype="multipart/form-data">
<div class="form-group">
<label for="name" class="col-xs-4 control-label">state</label>
<div class="col-xs-8">
<form:select path="stateId" id="state">
<form:option value="" label="--Select State--"></form:option>
<c:forEach var="list" items="${states}">
<option value="${list.stateId }">${list.stateName }</option>
</c:forEach>
</form:select>
<form:errors path="stateId"></form:errors>
</div>
</div>
<form:select path="districtId" id="district">
<form:option value="" label="--select District--"></form:option>
<form:options items="${districtList}" itemValue="districtid" itemLabel="description"></form:options>
</form:select>
控制器
@RequestMapping(value="/addemployee",method = RequestMethod.GET)
public String addEmployee( @ModelAttribute("personalinformation") PersonalInformation personalinformation,
@ModelAttribute("personaladdress")PersonalAddress personaladdress,
@ModelAttribute("employee")Employee employee,BindingResult result,Model model){
model.addAttribute("personalinformation",new PersonalInformation());
model.addAttribute("employee",new Employee());
model.addAttribute("personaladdress",new PersonalAddress());
List<State>list=iEmployeeService.getStateList();
model.addAttribute("states",list);
return "addEmployee";
}
@RequestMapping(value="/districtList",method = RequestMethod.GET)
@ResponseBody List<District> getDistrictList(@ModelAttribute("personalinformation") PersonalInformation personalinformation,
@RequestParam(value="stateId", required=true) String stateId, Model model){
System.out.println("inside districtlistst");
System.out.println("inside districtlist"+stateId);
List<District>list=iEmployeeService.getDistrictList();
return list;
}
Jquery函数..
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
$('select#state').change(function() {
var MSG=$("#state").val();
alert(MSG);
$.post("employee?action=districtList", {
stateId: MSG
}
,
function(data) {
alert("sucess");
}
);
我有员工的注册表格,我必须动态显示州,区和城市的下拉列表。我已经完成了状态列表,但我无法在我的控制器中获取所选状态的ID然后我可以返回一个区域列表,我的表单包含员工字段,个人信息和个人地址,这样我就创建了两个方法,首先返回字符串并显示带有状态下拉列表的注册页面和另一个用于ditrict列表的方法但是在jquery函数中我得到了id但是在getDistrictList中方法我无法得到id.please建议我该怎么做 提前谢谢。
答案 0 :(得分:0)
我看到你正在使用post type ajax,你的spring控制器方法接受get请求。
尝试这样的事情:
$.ajax({
type: "GET",
url: url,
data: data,
success: success,
dataType: dataType
});