当id为softId的选择下拉框选项改变时即调用getTypes()方法,getTypes得到后台action得到的json字符串并动态输出到前台
--》addUpdateSchedule.jsp:
$("#softId").change(getTypes);
//Ajax
function getTypes(){
var obj = eval("document.all.softId");
var softId = obj.options[obj.selectedIndex].value;
if(softId != 0){
$.ajax({
async : false,
cache: true,
type: 'POST',
dataType : "json",
url: "gettypes_bysoftid", //请求的action路径
data: "softId=" + softId,
success:function(data){ //请求成功后处理函数。
setJSON = eval("("+data.result+")"); //把后台封装好的简单Json格式赋给对象
},
error:function(data){
alert("获取信息异常");
}
});
alert(setJSON.length);
var div = document.getElementById("typee");
for(var i=0;i
var html = ''
+setJSON[i].name+' ';
div.innerHTML += html;
}
}
}
...
升级软件包:请选择
${software.versionName }
被升级的掌机类型:...
JsonPluginAction.java
...
public class JsonPluginAction extends ActionSupport {
...
private String result;
private Integer softId; //选中的软件包Id
...
/**
* 获取掌机软件升级包对应升级的掌机信息(ajax)
* @return
*/
public String gettypes_bysoftid(){
List types = new ArrayList();
try {
types = ConnectEjb.fssRemote.findTerminalTypeBySoftwareId(ConnectEjb.actor, softId);
} catch (NoMethodAuthorityException e) {
System.out.println(e.getMessage());
} catch (NoObjectAuthorityException e) {
System.out.println(e.getMessage());
} catch (NoAvailableActorException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
System.out.println("未知错误");
}
// //过滤掉级联属性
// JsonConfig jsonConfig = new JsonConfig();
// jsonConfig .setExcludes( new String[]{ "id","name" } ) ;
// //将json格式转换成字符串、并赋值给result属性
JSONArray json = JSONArray.fromObject(types);
result = json.toString();
return SUCCESS;
}
...
struts.xml
...
...