使用struts2完成jQuery进行ajax级联

本文介绍如何使用JSP结合JSTL技术实现动态加载下拉框选项的功能,通过Ajax请求后端获取数据并更新子级下拉框的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上网找了下资料,参考着做了个

JSP页面,使用JSTL的标签。

[html] view plain copy
  1. <tr>
  2. <tdwidth="10%">所属栏目</td>
  3. <tdwidth="90%"><selectname="columnInfo"id="columnInfo">
  4. <optionvalue="0">--请选择--</option>
  5. <c:forEachvar="columns"items="${columnsList}">
  6. <optionvalue="${columns.id}">${columns.name}</option>
  7. </c:forEach>
  8. </select><selectname="subColumnInfo"id="subColumnInfo"></select></td>
  9. </tr>

JS

[javascript] view plain copy
  1. $(function(){
  2. $("#columnInfo").change(function(){
  3. $.getJSON("NewsAction!ajax",{parColumnId:$(this).val()},function(myJSON){
  4. varmyOptions="";
  5. for(vari=0;i<myJSON.length;i++){
  6. myOptions+='<optionvalue="'+myJSON[i].optionValue+'">'+
  7. myJSON[i].optionDisplay+'</option>';
  8. }
  9. $("#subColumnInfo").empty();
  10. $("#subColumnInfo").html(myOptions);
  11. });
  12. });
  13. $("#columnInfo").change();
  14. })


后台处理

[java] view plain copy
  1. //处理AJAX级联请求
  2. publicvoidajax()throwsException{
  3. StringJSON_text="";
  4. if(parColumnId==0){
  5. JSON_text="[{optionValue:'0',optionDisplay:'--请选择--'}]";
  6. }else{
  7. List<Columns>subColumnList=columnService
  8. .findColumns(parColumnId);
  9. if(subColumnList.size()>0){
  10. JSON_text="[";
  11. for(inti=0;i<subColumnList.size();i++){
  12. Columnssub=subColumnList.get(i);
  13. JSON_text+="{optionValue:'"+sub.getId()
  14. +"',optionDisplay:'"+sub.getName()+"'}";
  15. if(i<subColumnList.size()-1){
  16. JSON_text+=",";
  17. }elseif(i==subColumnList.size()-1){
  18. JSON_text+="]";
  19. }
  20. }
  21. }
  22. }
  23. PrintWriterout=null;
  24. try{
  25. ServletActionContext.getResponse().setCharacterEncoding("UTF-8");
  26. out=ServletActionContext.getResponse().getWriter();
  27. }catch(IOExceptionex){
  28. ex.printStackTrace();
  29. }
  30. out.write(JSON_text);
  31. out.close();
  32. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值