Ajax动态刷新 级联刷新

前端之家收集整理的这篇文章主要介绍了Ajax动态刷新 级联刷新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


1.jsp页面

首先是两个下拉框,当公司名字变动时会场负责人的选择列表也相应变换

  1. <tr>
  2. tdwidth="50%"bgcolor="#EAF6EA">
  3. divalign="right" 公司名:
  4. </divtdtdbgcolor="#FFFFFF"s:selectlist="comInfolist"listValue="Com_name"
  5. listKey="Com_id"name="Com_id"value="%{mai.comId}"id="com"onchange=spanstyle="color:#ff0000">"finduserlst1();"span>s:selectlabelstyle="color:red;"
  6. label 会场负责人:
  7. inputtype="hidden"id="user_id"value="${mai.responsibleId}"/>
  8. inputtype="hidden"id="user_name"value="${mai.responsibleName}"/>
  9. selectid="comuser"name="comusername"style="width:150px"select>

2.js

js的方法中首先获得选中框的值,也就是公司id。使用了json,data处为传值。


[javascript] ?
    functionfinduserlst1(){
  1. //获取下拉框的选中项
  2. varcheckText=$("#com").find("option:selected").val();
  3. $("#comuser").empty();
  4. if(checkText==""){
  5. $("#comuser").append("<optionvalue=''>----请选择----</option>");
  6. }else{
  7. $.ajax({
  8. url:"<spanstyle="color:#ff0000">companymanage!findPeopleByComId.do</span>",
  9. type:"post",
  10. dataType:"<spanstyle="color:#ff0000">json</span>",108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px"> data:{<spanstyle="color:#ff0000">comID:checkText</span>},108); list-style:decimal-leading-zero outside; line-height:18px"> success:function(json){
  11. $("#comuser").append("<optionvalue=''>----请选择----</option>");
  12. $.each(json,function(i){
  13. $("#comuser").append("<optionvalue='"+json[i].userid+"'>"+json[i].realName+"</option>");
  14. });
  15. },
  16. error:function(XMLHttpRequest,textStatus,errorThrown){
  17. returnfalse;
  18. }
  19. });
  20. }
  21. }

3.java方法


然后是action中,首先获得传来的comId.之后是方法。注意这里的需要一个inputstream,不然会报错。这里的comID对应上面json处data所传的值。

?
    privateStringcomID;
  1. privateListUser_info>userlist;
  2. privateInputStreaminputStream;
  3. publicStringfindPeopleByComId(){
  4. System.out.println("进入了根据公司的id查询所有的人");
  5. userlist=meetingAddrInfoService.findPeopleByComId(Integer
  6. .parseInt(comID));
  7. StringjsonString=JSONArray.fromObject(userlist).toString();
  8. try{
  9. inputStream=newByteArrayInputStream(jsonString.getBytes("UTF-8"));
  10. }catch(UnsupportedEncodingExceptione){
  11. //TODOAuto-generatedcatchblock
  12. e.printStackTrace();
  13. return"searchUser";
  14. //System.out.println("根据公司id查询所有人:"+userlist+comID);
  15. publicInputStreamgetInputStream(){
  16. returninputStream;
  17. publicvoidsetInputStream(InputStreaminputStream){
  18. this.inputStream=inputStream;
  19. spanstyle="white-space:pre">>publicList>getUserlist(){
  20. returnuserlist;
  21. publicvoidsetUserlist(List>userlist){
  22. this.userlist=userlist;
  23. >publicStringgetComID(){
  24. returncomID;
  25. publicvoidsetComID(StringcomID){
  26. this.comID=comID;
  27. }

4.配置

struts2里的配置如下

?
    <!--json的配置-->
  1. actionname="companymanage"class="com.hb.action.system.MeetingAddrInfoAction"method="{1}"resultname="searchUser"type="stream"paramname="contentType">text/jsonparamparamname="inputName">inputStreamresultaction>

猜你在找的Ajax相关文章