欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ajax實現(xiàn)三級聯(lián)動效果

 更新時間:2021年10月04日 10:09:41   作者:想到的名字都被人用了  
這篇文章主要為大家詳細介紹了Ajax實現(xiàn)三級聯(lián)動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Ajax實現(xiàn)三級聯(lián)動效果的具體代碼,供大家參考,具體內(nèi)容如下

一、導(dǎo)入數(shù)據(jù)表和gson.jar

該表包括了中國所有的省、市、縣、區(qū),它們之間通過parentid關(guān)聯(lián)。

二、后端代碼

由于每一級的數(shù)據(jù)都是根據(jù)上一級的id查詢而來,邏輯十分相似,故我們只需要一個接口就可以完成三級甚至更多級的聯(lián)動,在這個案例中我們的核心查詢就是select * from area where parentid=#{pid}

entity

package com.codeXie.entity;

import java.io.Serializable;

public class Area implements Serializable {
    private String areaid;
    private String areaname;
    private String parentid;
    private Integer arealevel;
    private Integer status;

    public Area() {
    }

    public Area(String areaid, String areaname, String parentid, Integer arealevel, Integer status) {
        this.areaid = areaid;
        this.areaname = areaname;
        this.parentid = parentid;
        this.arealevel = arealevel;
        this.status = status;
    }
    .......省略了對各屬性的set、get
}

mapper

public interface AreaMapper {
    @Select("select * from area where parentid=#{pid}")
    List<Area> selectMore(Integer pid);
}

service

public interface AreaService {
    List<Area> findCity(int pid);
}

servlet

@WebServlet("/AreaServlet")
public class AreaServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        String pid = req.getParameter("pid");
        AreaServiceImpl service = new AreaServiceImpl();
        List<Area> areas = service.findCity(Integer.parseInt(pid));
        String json = new Gson().toJson(areas);
        resp.getWriter().print(json);
    }
}

三、前端代碼

 <script src="js/jquery.js"></script>
    <script>
        function produceOption(id,list){
            console.log(list)
            $(id).empty()
            $(list).each((index,item)=>{
                $(id).append("<option value="+item.areaid+">"+item.areaname+"</option>")
            })
            
        }
        $(()=>{
            $.ajax({
                url:"AreaServlet",
                method:"post",
                data:{pid:0},
                dataType:"json",
                success: function(res) {
                   produceOption("#proviance",res)
                   $("#proviance").prepend("<option selected='selected'>請選擇省份</option>")
                }
            })
            $("#proviance").change(function(){
                var pid = $(this).prop("value")
                $.ajax({
                url:"AreaServlet",
                method:"post",
                data:{pid:pid},
                dataType:"json",
                success: function(res) {
                   produceOption("#city",res)
                   $("#city").prepend("<option selected='selected'>請選擇城市</option>")
                }
            })
        })
        $("#city").on("change",function(){
            var pid = $(this).prop("value")
                $.ajax({
                url:"AreaServlet",
                method:"post",
                data:{pid:pid},
                dataType:"json",
                success: function(res) {
                   produceOption("#country",res)
                   
                }
            })
        })
    })
    </script>
</head>
<body>
    <h2>三級聯(lián)動</h2>
    <hr/>
    <select name="pro" id="proviance">
        <option>選擇省份</option>
    </select>
    <select name="city" id="city">
        <option>選擇城市</option>
    </select>
    <select name="country" id="country">
        <option>請選擇區(qū)域</option>
    </select>
</body>
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一個簡單Ajax類庫及使用方法實例分析

    一個簡單Ajax類庫及使用方法實例分析

    這篇文章主要介紹了一個簡單Ajax類庫及使用方法,結(jié)合實例形式分析了ajax類庫的源碼與具體使用技巧,需要的朋友可以參考下
    2016-04-04
  • 163 AJAX Tab

    163 AJAX Tab

    163 AJAX Tab...
    2007-01-01
  • 各種AJAX方法的使用比較詳解

    各種AJAX方法的使用比較詳解

    AJAX技術(shù)經(jīng)過這么多年的發(fā)展,出現(xiàn)了一些框架或類庫用于簡化開發(fā)工作,不同的框架類庫的使用方法也各不相同。 現(xiàn)在,再回頭看看這些技術(shù),看看這些框架類庫,我們能感受到技術(shù)在不斷地發(fā)展,AJAX開發(fā)越來越容易了。
    2015-09-09
  • ajax無刷新驗證注冊信息示例

    ajax無刷新驗證注冊信息示例

    這篇文章主要為大家詳細介紹了ajax無刷新驗證注冊信息示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • [js]輕便的XMLHttpRequest應(yīng)用函數(shù):downloadUrl()

    [js]輕便的XMLHttpRequest應(yīng)用函數(shù):downloadUrl()

    [js]輕便的XMLHttpRequest應(yīng)用函數(shù):downloadUrl()...
    2007-04-04
  • AJAX初級聊天室代碼

    AJAX初級聊天室代碼

    AJAX初級聊天室代碼...
    2007-01-01
  • AJAX開發(fā)者的最新工具和技術(shù)

    AJAX開發(fā)者的最新工具和技術(shù)

    AJAX開發(fā)者的最新工具和技術(shù)...
    2006-09-09
  • js ajax加載時的進度條代碼

    js ajax加載時的進度條代碼

    在web頁面中使用ajax加載進度條,可以讓用戶預(yù)先判斷等待的時間,而且還可以減少用戶等待信息加載過程中的心理焦慮感,所以進度條加載必不可少,下面小編給大家介紹ajax加載進度條代碼是如何實現(xiàn)的
    2015-10-10
  • 關(guān)于前端ajax請求的優(yōu)雅方案(http客戶端為axios)

    關(guān)于前端ajax請求的優(yōu)雅方案(http客戶端為axios)

    這篇文章主要給大家介紹了關(guān)于前端ajax請求的優(yōu)雅方案,本文http客戶端為axios,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • Axios和Ajax的區(qū)別是什么(詳細介紹)

    Axios和Ajax的區(qū)別是什么(詳細介紹)

    ajax技術(shù)實現(xiàn)了局部數(shù)據(jù)的刷新,axios實現(xiàn)了對ajax的封裝,axios有的ajax都有,ajax有的axios不一定有,總結(jié)一句話就是axios是ajax,ajax不止axios,本文對Axios和Ajax的區(qū)別是什么給大家講解的非常詳細,需要的朋友一起看看吧
    2023-10-10

最新評論