我的需求是:在SSH2+JQuery框架下,用Ajax实现文本框获取商品名称后,该商品的相关信息自动显示在对应的页面控件中。
action是这样写的:
public String selectStockInfoByKind(){
Object [] obj = new Object[]{this.getKindId()};
List middle = (List)this.getCorpFileService().autoShowModeNameByKindId(obj);
int count = middle.size();
selectKinds = new ArrayList<String>(count);
Iterator iterator = middle.iterator();
StringBuffer jsonString = new StringBuffer();
jsonString.append("[");
int i = 0;
while(iterator.hasNext()){
i++;
this.setStock((Stock)iterator.next());
jsonString.append("{");
jsonString.append("modeName:'");
jsonString.append(this.getStock().getModeName());
jsonString.append("',unitId:");
jsonString.append(this.getStock().getUnitId());
jsonString.append(",kindNum:");
jsonString.append(this.getStock().getKindNum());
jsonString.append("}");
if(i < count){
jsonString.append(",");
}
}
jsonString.append("]");
selectKinds.add(jsonString.toString());
return SUCCESS;
}
这个json数组的格式为:[{modeName:'2米高3米宽',unitId:1,kindNum:1860}]JSP页面是这样写的:
function selectStockInfoByKind(sId){
var Options = {
type: "POST",
url: "selectStockInfoByKind.htm?kindId="+sId,
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: GetStockInfo_CallBack,
error: function(x, e) {
alert(x.responseText);
}
};
$.ajax(Options);
}
function GetStockInfo_CallBack(response){
if (response == null || response == "")
return;
var objModeName = self.parent.document.getElementById("modeName");//型号
var objUnitId = self.parent.document.getElementById("unitId");//单位
var objKindNum = self.parent.document.getElementById("kindNum");//数量
/*
这个方法所在JSP页面,是以JQuery弹出层的方法显示的,所以该处绑定值指定控件时为父窗体的控件
self.parent.document.geeElementById("modeName");
*/
$.each(eval(responsedata),
function(key,item){
objModeName.value = item.modeName;
if(item.untiId == 0){
objUnitId.value = "张";
}
if(item.untiId == 1){
objUnitId.value = "台";
}
if(item.untiId == 2){
objUnitId.value = "米";
}
if(item.untiId == 3){
objUnitId.value = "件";
}
if(item.untiId == 4){
objUnitId.value = "个";
}
if(item.untiId == 5){
objUnitId.value = "箱";
}
objKindNum.value = item.kindNum;
});
}
现在的问题是,怎么把后台获取的值,显示在页面上啊?
这样写显示不出来。
另外,如果商品名称更改的话,该商品的相关信息会重新加载到相关控件中吗?
高手一定得帮忙啊!