最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用戶(hù)管理的設(shè)計(jì)_jquery的ajax實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)效果

 更新時(shí)間:2017年07月13日 07:56:32   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇用戶(hù)管理的設(shè)計(jì)_jquery的ajax實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)效果。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

頁(yè)面效果

實(shí)現(xiàn)步驟

1.引入struts整合json的插件包

2.頁(yè)面使用jquery的ajax調(diào)用二級(jí)聯(lián)動(dòng)的js

//ajax的二級(jí)聯(lián)動(dòng),使用選擇的所屬單位,查詢(xún)?cè)撍鶎賳挝幌聦?duì)應(yīng)的單位名稱(chēng)列表
  function findJctUnit(o){
    //貨物所屬單位的文本內(nèi)容
    var jct = $(o).find("option:selected").text();
    $.post("elecUserAction_findJctUnit.do",{"jctID":jct},function(data,textStatus){
        //先刪除單位名稱(chēng)的下拉菜單,但是請(qǐng)選擇要留下
        $("#jctUnitID option").remove();
      if(data!=null && data.length>0){
        for(var i=0;i<data.length;i++){
             var ddlCode = data[i].ddlCode;
             var ddlName = data[i].ddlName;
             //添加到單位名稱(chēng)的下拉菜單中
             var $option = $("<option></option>");
             $option.attr("value",ddlCode);
             $option.text(ddlName);
             $("#jctUnitID").append($option);
          }
      }
    });
    
  }

3.在Action類(lèi)中定義findJctUnit()方法,這里要將返回的List集合放置到棧頂,struts2將其轉(zhuǎn)換成json數(shù)據(jù)

/** 
  * @Name: findJctUnit
  * @Description: 使用jquery的ajax完成二級(jí)聯(lián)動(dòng),使用所屬單位,關(guān)聯(lián)單位名稱(chēng)
  * @Parameters: 無(wú)
  * @Return: 使用struts2的json插件包
  */
  public String findJctUnit(){
    //1:獲取所屬單位下的數(shù)據(jù)項(xiàng)的值(從頁(yè)面提交的jctID值,不是數(shù)據(jù)字典中的ddlcode)
    String jctID = elecUser.getJctID();
    //2:使用該值作為數(shù)據(jù)類(lèi)型,查詢(xún)對(duì)應(yīng)數(shù)據(jù)字典的值,返回List<ElecSystemDDL>
    List<ElecSystemDDL> list = elecSystemDDLService.findSystemDDLListByKeyword(jctID);
    //3:將List<ElecSystemDDL>轉(zhuǎn)換成json的數(shù)組,將List集合放置到棧頂
    ValueUtils.pushValueStack(list);
    return "findJctUnit";
  }

其中,findSystemDDLListByKeyword(jctID)是在數(shù)據(jù)字典service中實(shí)現(xiàn)的方法,主要根據(jù)數(shù)據(jù)類(lèi)型名稱(chēng)查詢(xún)數(shù)據(jù)字典,返回list集合對(duì)象

ValueUtils是一個(gè)工具類(lèi),pushValueStack方法將list壓入到struts2值棧的棧頂

public class ValueUtils {

  public static void pushValueStack(Object object) {
    ServletActionContext.getContext().getValueStack().push(object);
  }
}

struts2的插件包會(huì)將壓入到struts2值棧的list集合中對(duì)象所有的屬性全部被json化

4.在struts.xml中定義

(1)修改 extends值

修改前

<!-- 系統(tǒng)管理 -->
<package name="system" extends="struts-default" namespace="/system">

修改后

<!-- 系統(tǒng)管理 -->
  <package name="system" extends="json-default" namespace="/system">

(2)添加映射

<!-- 如果是List集合,轉(zhuǎn)換成json數(shù)組;如果是object對(duì)象,轉(zhuǎn)換成json對(duì)象 -->
<result name="findJctUnit" type="json"></result>

完成上述步驟以后,即可實(shí)現(xiàn)選中所屬單位下拉框的值,在單位名稱(chēng)下拉選項(xiàng)中有對(duì)應(yīng)值。

在瀏覽器頁(yè)面查看json數(shù)據(jù)如下:

若想針對(duì)某個(gè)屬性被json化,此時(shí)可以修改struts.xml文件

<!-- 如果是List集合,轉(zhuǎn)換成json數(shù)組;如果是object對(duì)象,轉(zhuǎn)換成json對(duì)象 -->
      <result name="findJctUnit" type="json">
        <param name="includeProperties">\[\d+\]\.ddlCode,\[\d+\]\.ddlName</param>
 </result>

這里使用正則表達(dá)式攔截一個(gè)或多個(gè)ddlCode和ddlName,這樣json數(shù)據(jù)中就只含有ddlCode和ddlName了。

以上這篇用戶(hù)管理的設(shè)計(jì)_jquery的ajax實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)效果就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

威海市| 洛川县| 都江堰市| 教育| 石楼县| 卓资县| 铜川市| 土默特右旗| 台山市| 固原市| 郴州市| 金阳县| 新源县| 德州市| 邓州市| 荥阳市| 高邑县| 南开区| 翁牛特旗| 鸡东县| 古田县| 罗山县| 绍兴市| 岳西县| 容城县| 广南县| 连州市| 武汉市| 唐海县| 平南县| 浮山县| 达日县| 建宁县| 丹东市| 天柱县| 白山市| 黄陵县| 元江| 阿瓦提县| 墨脱县| 外汇|