您的位置:首页 > 其它

ajax动态加载数据总结(2012.11.20)

2012-11-20 17:46 302 查看
当id为softId的选择下拉框选项改变时即调用getTypes()方法,getTypes得到后台action得到的json字符串并动态输出到前台

--》addUpdateSchedule.jsp:

<script type="text/javascript">

$("#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<setJSON.length;i++){
var html = '<span><input type="checkbox" name="typee" value="'+setJSON[i].id+'">'
+setJSON[i].name+' </span>';
div.innerHTML += html;
}
}
}
</script>

<body>

...

<tr>
<td align="right">升级软件包:</td>
<td align="left">
<select id="softId" name="softId" >
<option value="0">请选择</option>
<s:iterator value="softwares" var="software">
<option value="${software.id }">${software.versionName }</option>
</s:iterator>
</select>
</td>
</tr>
<tr>
<td align="right">被升级的掌机类型:</td>
<td align="left" id="ttype" name="ttype">
<div id="typee"></div>
</td>
</tr>

...

</body>

JsonPluginAction.java

...

public class JsonPluginAction extends ActionSupport {
...
private String result;
private Integer softId; //选中的软件包Id

...

/**
* 获取掌机软件升级包对应升级的掌机信息(ajax)
* @return
*/
public String gettypes_bysoftid(){
List<TerminalType> types = new ArrayList<TerminalType>();
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

...

<!-- json -->
<package name="ajax" namespace="/" extends="json-default">
<action name="*_*" class="com.keyman.fss.action.JsonPluginAction" method="{1}_{2}">
<result type="json"></result>
</action>
</package>

...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: