实例:
已知客户,客户联系人;
一个客户对应n个联系人,不同的客户对应不同的联系人;
要求选择不同的客户,加载不同的联系人;
jsp编码:
<select name="CCUSTOMERGUID" id="CCUSTOMERGUID" title="所属客户" οnchange="setProContact()">
<option value=""></option>
<c:forEach items="${customerList}" var="sl">
<option value="${sl.CGUID }" <c:if test="${sl.CGUID == pd.CCUSTOMERGUID }">selected</c:if>>${sl.CNAME }</option>
</c:forEach>
</select>
<select name="CPROJECTLEADER" id="CPROJECTLEADER" title="项目负责人" >
<option value=""></option>
<c:forEach items="${proLeaderList}" var="sl">
<span style="white-space:pre"> </span><option value="${sl.CCODE }" <c:if test="${sl.CCODE == pd.CPROJECTLEADER }">selected</c:if>>${sl.CNAME }</option>
</c:forEach>
</select>
js编码:
$.ajax({
type: "POST",
url: 'getCustomerContact.do',
data: {CCUSTOMERGUID:CCUSTOMERGUID,tm:new Date().getTime()},
dataType:'json',
cache: false,
success: function(data){
if("success" == data.result){
//json字符串(json数组)
var jsonArrayStr = data.jsonArray;
var jsonArray = JSON.parse(jsonArrayStr);
var CPROJECTLEADER = document.getElementById('CPROJECTLEADER');
//清空数组
CPROJECTLEADER.length = 0;
//添加空值
var option=new Option('','');
CPROJECTLEADER.add(option);
for(var i=0;i<jsonArray.length;i++){
var xValue=jsonArray[i].CGUID;
var xText=jsonArray[i].CNAME;
var option=new Option(xText,xValue);
CPROJECTLEADER.add(option);
}
}else{
var CPROJECTLEADER = document.getElementById('CPROJECTLEADER');
CPROJECTLEADER.length = 0;
}
}
});
java编码:
/**
*
* 所属客户发生变化时,重新加载客户联系人
*
* @return
* @return Object
* @exception 异常描述
* @see
*/
@RequestMapping(value="/getCustomerContact")
@ResponseBody
public Object getCustomerContact(){
Map<String,String> map = new HashMap<String,String>();
String errInfo = "success";
JSONArray jsonArray = null;
PageData pd = new PageData();
try{
pd = this.getPageData();
List<PageData> customerContactList = projectmanageService.findCustomerContactById(pd);
jsonArray = JSONArray.fromObject(customerContactList);
} catch(Exception e){
logger.error(e.toString(), e);
errInfo = "error";
}
map.put("result", errInfo); //返回结果
map.put("jsonArray", jsonArray==null?"":jsonArray.toString());
return map;
}