2011.7.15 Ajax局部刷新

login.jsp


<script type="text/javascript">
function selectRoleByAccountId(){
var accountId = $("#account\\.id").val();
if(accountId != 0){
$.ajax({
type:'POST',
url:'/PlantAssetCard_getAccountRoles.action',
data:'accountId=' + accountId,
error:function(){
alert("JQuery AJAX Error!");
},
success:function(data){
$("#accountRoles").html(data); //把Freemarker中返回的值接收
}
});
}
}
</script>
</head>
<body>

<table>
<tr>
<td>
<select name="account.id" id="account.id" style="width:80px" οnchange="selectRoleByAccountId()">
  <option value="0">请选择</option>
<#list result as li>
<option value="${(li)!''}" >${(li)!'未定义'}</option>
</#list>
</select><span id="pwd_error"></span>
</td>
<td height="20" align="right"><font style=" font-weight:bold;font-size: 13px ">角 色:</font></td>
<td id="accountRoles">
<select name="role.id" id="role.id" style="width:80px">
<option value="0">选择角色</option>
</select><span id="pwd_error"></span>
</td>

</tr>
</table>
</body>
</html>

getAccountRole.jsp

<table>
<select name="role.id" id="role.id" style="width:80px">
<#list roleSet as role>
<option value="${(role.getSub().getSubjectName())!''}">${(role.getSub().getSubjectName())!'未定义'}</option>
</#list>
</select><span id="pwd_error"></span>

<table>


Action脚本

public String getAccountRoles() throws Exception {

Account account = new Account();

account = accountService.findAccount(accountId);

roleSet = account.getRoles();

return AppConstants.RETURN_TYPE_FREEMARKER;

}

在这里面可以理解成先选择省,然后根据省去动态生成市,达到动态调用的效果

用第二个页面来代替其中的数据$("#accountRoles").html(data); //把Freemarker替换到原页面中

这样就实现了一部分刷新的效果

其中的第二个页面来代替data,达到效果






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值