function changePhoneType(obj1ID,obj2ID){
var objArea = document.getElementById(obj1ID);
var id = objArea.value;
var url = "$common.root()/page/downClient.do?method=getPhoneType&phoneBrandId="+id;
var myAjax = new Ajax.Request(url, {method: 'get',onComplete: showesay});
}
//组装机型下拉框
function showesay(dataResponse) {
if(dataResponse.status==200)
{
var objTown = document.getElementById('phoneType');
var i;
for(i = objTown.options.length ; i >= 0 ; i--){
objTown.options[i] = null;
}
objTown.options[0] = new Option("选择机型");
objTown.options[0].value = "";
var data=eval('('+dataResponse.responseText+')');
for(var i=0;i<data.length;i++){
var op= document.createElement("option");
op.text = data[i].tname;
op.value = data[i].cname;
objTown.options.add(op);
}
}
else{
alert("查询手机品牌失败!");
}
}
if (phoneTypeList != null) {
json.append("[");
int i=1;
for (Object o : phoneTypeList) {
PhoneType pType = (PhoneType) o;
if(i==1){
json.append("{\"tname\":\""+pType.getPhoneBrandCnName()+" "+pType.getPnoneTypeName()+"\",\"cname\":\""+pType.getClientName()+"\"}");
i++;
}
else{
json.append(",{\"tname\":\""+pType.getPhoneBrandCnName()+" "+pType.getPnoneTypeName()+"\",\"cname\":\""+pType.getClientName()+"\"}");
}
}
json.append("]");
}
注意两个地方:
一、在action里生成数据的要符合json格式[{"x":"y"},{"z","a"}];直接用out或者response.getWrite().print(json.toStirng());且在struts1.1的findMapping中直接返回null
二、在前端直接eval('('+dataResponse.responseText+')'),来组织js对象数据,然后拼装需要的数据。
var objArea = document.getElementById(obj1ID);
var id = objArea.value;
var url = "$common.root()/page/downClient.do?method=getPhoneType&phoneBrandId="+id;
var myAjax = new Ajax.Request(url, {method: 'get',onComplete: showesay});
}
//组装机型下拉框
function showesay(dataResponse) {
if(dataResponse.status==200)
{
var objTown = document.getElementById('phoneType');
var i;
for(i = objTown.options.length ; i >= 0 ; i--){
objTown.options[i] = null;
}
objTown.options[0] = new Option("选择机型");
objTown.options[0].value = "";
var data=eval('('+dataResponse.responseText+')');
for(var i=0;i<data.length;i++){
var op= document.createElement("option");
op.text = data[i].tname;
op.value = data[i].cname;
objTown.options.add(op);
}
}
else{
alert("查询手机品牌失败!");
}
}
if (phoneTypeList != null) {
json.append("[");
int i=1;
for (Object o : phoneTypeList) {
PhoneType pType = (PhoneType) o;
if(i==1){
json.append("{\"tname\":\""+pType.getPhoneBrandCnName()+" "+pType.getPnoneTypeName()+"\",\"cname\":\""+pType.getClientName()+"\"}");
i++;
}
else{
json.append(",{\"tname\":\""+pType.getPhoneBrandCnName()+" "+pType.getPnoneTypeName()+"\",\"cname\":\""+pType.getClientName()+"\"}");
}
}
json.append("]");
}
注意两个地方:
一、在action里生成数据的要符合json格式[{"x":"y"},{"z","a"}];直接用out或者response.getWrite().print(json.toStirng());且在struts1.1的findMapping中直接返回null
二、在前端直接eval('('+dataResponse.responseText+')'),来组织js对象数据,然后拼装需要的数据。