中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jquery中ajax如何實現二級聯動效果

發布時間:2021-05-18 13:05:36 來源:億速云 閱讀:281 作者:小新 欄目:web開發

小編給大家分享一下jquery中ajax如何實現二級聯動效果,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

頁面效果

jquery中ajax如何實現二級聯動效果

實現步驟

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

2.頁面使用jquery的ajax調用二級聯動的js

//ajax的二級聯動,使用選擇的所屬單位,查詢該所屬單位下對應的單位名稱列表
  function findJctUnit(o){
    //貨物所屬單位的文本內容
    var jct = $(o).find("option:selected").text();
    $.post("elecUserAction_findJctUnit.do",{"jctID":jct},function(data,textStatus){
        //先刪除單位名稱的下拉菜單,但是請選擇要留下
        $("#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;
             //添加到單位名稱的下拉菜單中
             var $option = $("<option></option>");
             $option.attr("value",ddlCode);
             $option.text(ddlName);
             $("#jctUnitID").append($option);
          }
      }
    });
    
  }

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

/** 
  * @Name: findJctUnit
  * @Description: 使用jquery的ajax完成二級聯動,使用所屬單位,關聯單位名稱
  * @Parameters: 無
  * @Return: 使用struts2的json插件包
  */
  public String findJctUnit(){
    //1:獲取所屬單位下的數據項的值(從頁面提交的jctID值,不是數據字典中的ddlcode)
    String jctID = elecUser.getJctID();
    //2:使用該值作為數據類型,查詢對應數據字典的值,返回List<ElecSystemDDL>
    List<ElecSystemDDL> list = elecSystemDDLService.findSystemDDLListByKeyword(jctID);
    //3:將List<ElecSystemDDL>轉換成json的數組,將List集合放置到棧頂
    ValueUtils.pushValueStack(list);
    return "findJctUnit";
  }

其中,findSystemDDLListByKeyword(jctID)是在數據字典service中實現的方法,主要根據數據類型名稱查詢數據字典,返回list集合對象

ValueUtils是一個工具類,pushValueStack方法將list壓入到struts2值棧的棧頂

public class ValueUtils {

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

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

4.在struts.xml中定義

(1)修改 extends值

修改前

<!-- 系統管理 -->
<package name="system" extends="struts-default" namespace="/system">

修改后

<!-- 系統管理 -->
  <package name="system" extends="json-default" namespace="/system">

(2)添加映射

<!-- 如果是List集合,轉換成json數組;如果是object對象,轉換成json對象 -->
<result name="findJctUnit" type="json"></result>

完成上述步驟以后,即可實現選中所屬單位下拉框的值,在單位名稱下拉選項中有對應值。

在瀏覽器頁面查看json數據如下:

jquery中ajax如何實現二級聯動效果

若想針對某個屬性被json化,此時可以修改struts.xml文件:

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

這里使用正則表達式攔截一個或多個ddlCode和ddlName,這樣json數據中就只含有ddlCode和ddlName了。

jquery是什么

jquery是一個簡潔而快速的JavaScript庫,它具有獨特的鏈式語法和短小清晰的多功能接口、高效靈活的css選擇器,并且可對CSS選擇器進行擴展、擁有便捷的插件擴展機制和豐富的插件,是繼Prototype之后又一個優秀的JavaScript代碼庫,能夠用于簡化事件處理、HTML文檔遍歷、Ajax交互和動畫,以便快速開發網站。

看完了這篇文章,相信你對“jquery中ajax如何實現二級聯動效果”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

张家界市| 吉隆县| 丰台区| 宕昌县| 通渭县| 鄂温| 宁河县| 武清区| 台东市| 博野县| 札达县| 松原市| 息烽县| 汪清县| 商洛市| 芮城县| 白银市| 宜春市| 水城县| 沁源县| 汝南县| 神农架林区| 治多县| 玉树县| 昌黎县| 乌拉特中旗| 龙海市| 壤塘县| 米易县| 贺州市| 福鼎市| 连城县| 手游| 舟曲县| 同仁县| 海丰县| 灵山县| 霞浦县| 阿荣旗| 永福县| 巫溪县|