利用struts2和json完成级联查询
<script type="text/javascript">
function getsort(){
var brandId=$("select[name=brand.brandId]").val();
$.ajax({
cache:false,
url:'ajaxFindSort.action',
type:'post',
dataType:'json',
data:{brandId:brandId},
success:update_c
});
}
function update_c(json){
var sort=json.phoneModelses;
var s_root=document.getElementById('phoneModels_phoneModelsId');
s_root.options.length=0;
for(i=0;i<sort.length;i++){
var s = sort[i];
var option = document.createElement("option");
var value=s.phoneModelsId;
var text=s.phoneModelsName;
option.text=text;
option.value=value;
s_root.options[i] =option;
}
}
</script>
页面中:
<!--PC下载一-->
<dl class="pcDown1">
<dt class="txt_green"><strong>分机型下载:请选择手机品牌、型号</strong></dt>
<dd class="PCDchose">
<div class="txt_green">
我的手机品牌:
<s:select cssClass="choseInput" list="brands" name="brand.brandId" listKey="brandId" listValue="brandName" οnchange="getsort();">
</s:select>
</div>
<div class="txt_green">
我的手机型号:
<s:select cssClass="choseInput" list="phoneModelses" name="phoneModels.phoneModelsId" listKey="phoneModelsId" listValue="phoneModelsName" οnchange="getsort2();"></s:select>
</div>
</dd>
<dd class="PCDbtn"><a href="#" id="opsystem" class="freeDown"></a></dd>
<dd class="clear"></dd>
</dl>
struts.xml中:
<!-- ajax查询级联的手机型号 -->
<action name="ajaxFindSort" class="www.wali.action.PhoneModelsAction" method="ajaxFindSort">
<result type="json">
</result>
</action>
返回类型为type="json" result中为空
action中
public String ajaxFindSort()
{
try {
Long id = Long.valueOf(brandId);
this.phoneModelses = phoneModelsService.findAllByBrand(id);
} catch (SQLException e) {
e.printStackTrace();
}
return SUCCESS;
}
action中跟普通的struts2写法一样。
这样就完成了Ajax的级联局部刷新显示内容