麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

JavaScript Ajax Json實現上下級下拉框聯動效果實例代碼

2019-11-20 21:35:58
字體:
來源:轉載
供稿:網友

最近嘗試做出一個部門和人員的下拉框聯動功能,部門和人員的對應關系是1:N

復制代碼 代碼如下:

<div class="forntName">部門</div>
 <div class="inpBox">
 <select  name="department" id="department"  onchange="change();" style="width:200px;" >
 <option value='-1'>請選擇</option>
 <s:iterator value="departmentList">
  <option value='<s:property value="departmentCode"/>'><s:property value="departmentName"/></option>
 </s:iterator>
 <select> 
 </div>
<SPAN style="WHITE-SPACE: pre"> </SPAN><div class="forntName">人員</div>
 <div class="inpBox">
 <select name="workorderOperator" id = "workorderOperator" style="width:200px;">

 <s:iterator value="userList">
  <option value='<s:property value="userName"/>'><s:property value="userName"/></option>
 </s:iterator>
 </select>
 </div>

部門下拉框的onchange()事件走一個AJAX方法,返回一個JSON對象(JSON里放的是個LIST)。

js方法在此頁面的寫法:

復制代碼 代碼如下:

<script type="text/javascript">
function change(){    
    var departmentCode =$("#department").val(); 

    var params = { 
        'departmentCode':departmentCode 
    }; 
    $.ajax({
        type: 'get',
        url: "departmentChangeEvent.shtml",
        cache: false,
        data: params,
        dataType: 'json',
        success: function(data){
      var sel2 = $("#workorderOperator"); 
      sel2.empty(); 
      if(data==null)
          {
       sel2.append("<option value = '-1'>"+"部門人員為空"+"</option>");
          }
      var items=data.list;
      if(items!=null)
         {
        for(var i =0;i<items.length;i++)
           {
            var item=items[i];
            sel2.append("<option value = '"+item.userName+"'>"+item.userChinesename+"</option>");
           };
          }    
      else
          {
       sel2.empty(); 
          }
        },
        error: function(){
            return;
        }
    });
    //$.post(url, params, callback); 

</script> 

此處返回的data里包含list(list見后文),list里包含著人員的代碼,人員的姓名兩個屬性。然后先把人員下拉框empty(),通過select控件append方法 添加新的下拉框元素。

后臺代碼:

復制代碼 代碼如下:

public String departmentChangeEvent() throws Exception{
  userList=service.queryForList("Workorder.queryUserByDepartmentCode", departmentCode);
  if(userList!=null&&userList.size()>0)
  {
   HttpServletResponse response = ServletActionContext.getResponse();
   response.setContentType("text/html;charset=utf-8");
   response.setHeader("Pragma","No-cache");
   response.setHeader("Cache-Control","no-cache");
   response.setHeader("Cache-Control", "no-store");
   PrintWriter writer = response.getWriter();
   JSONObject json = new JSONObject();
   Map map = new HashMap();
      map.put("list",userList);
      JSONObject jso = JSONObject.fromObject(map);
   writer.write(jso.toString());
      writer.flush();
      writer.close();  }
         return null; 
   } 

這個方法是部門切換事件,通過departmentCode(field域,有set,get)來求的當前部門下的用戶放到userList中。

然后通過標準寫法把userList放到一個定義好的HashMap中,KEY為list。

復制代碼 代碼如下:

<STRONG> JSONObject jso = JSONObject.fromObject(map);</STRONG> 

這是最為關鍵的一步,有的json對象創建方法也可以為JSONObject jso = new JSONObject() ; 然后把list里的記錄放入到jso中。。。

在這里是行不通的,前臺會認為返回的是個字符串。。。

struts中 返回類型為json

復制代碼 代碼如下:

  <action name="departmentChangeEvent" class="workorderAction" method="departmentChangeEvent">
       <result type="json">
   </result> 
        </action>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲第五色综合网 | 制服丝袜日日夜夜 | 又黄又爽免费无遮挡在线观看 | 亚洲成年人免费网站 | xnxx 美女19 | 日韩视频在线观看免费 | 成人综合免费视频 | 视频国产一区二区 | 色诱亚洲精品久久久久久 | 黄色毛片免费视频 | 毛片免费观看完整版 | 羞羞视频一区 | 亚洲日本韩国在线观看 | 久久精品视频免费 | 久久综合九色综合久久久精品综合 | 久久超| 精品一区二区久久久久久按摩 | 欧美成人精品一级 | 把娇妻调教成暴露狂 | 国产精品爱久久久久久久 | 九色91视频| 成人黄色短视频在线观看 | 国产免费v片 | 久久久婷婷一区二区三区不卡 | 国产精品久久久久久久久久了 | 99热1| 最近中文字幕一区二区 | 久久精品视频亚洲 | 久久久一区二区三区精品 | 欧美日韩影视 | 嫩草www | 亚洲无毛av| 黄色av.com | 福利在线免费视频 | 久久99精品久久久久久青青日本 | 一区二区三区日韩电影 | 黄色片免费看网站 | 欧美日韩免费看 | 一级免费黄色免费片 | 亚洲精品一区中文字幕 | 一级黄色性感片 |