zoukankan      html  css  js  c++  java
  • layer 三级联动的实现

    记录下,以便于下次使用:

    HTML:
    <div class="layui-form">
                                        <div class="layui-inline">
                                            <select name="d_province" class="state" lay-filter="state">
                                                <option value="0">请选择</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="d_city" class="state" lay-filter="state">
                                                <option value="0">请选择</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="d_area" class="state" lay-filter="state">
                                                <option value="0">请选择</option>
    
                                            </select>
                                        </div>
    
                                    </div>

    JS:

     var $ = layui.jquery;
            var form = layui.form();
            var laydate = layui.laydate;
    
            //三级联动
            //如果有需要到镇的改改就可以实现
            var url = '/Shipper/City/GetCityList'; //数据请求地址
            var province = "广东省"; //编辑需要的省
            var city = "广州市"; //编辑需要的市
            var district = "天河区"; //编辑需要的县/区
            getJSON(url, $("select[name='d_province']").closest("div"));
            form.on('select(state)', function (data) {
    
                debugger;
                $that = $(data.elem);
                urls = url + "?pid=" + data.value;
                getJSON(urls, $that.closest("div").next());
            });
            function getJSON(urls, even) {
                $.getJSON(urls, function (json) {
                    var pid = 0;
                    var name = even.find("select").attr("name");
                    var select = "<select name="" + name + "" lay-filter="state">";
                    select += "<option value="0">请选择 </option>";
                    $(json).each(function () {
                        select += "<option value="" + this.AreaId + """;
                        if (province == this.AreaName || city == this.AreaName || district == this.AreaName) {
                            select += " selected="selected" ";
                            pid = this.AreaId;
                        }
                        select += ">" + this.AreaName + "</option>";
                    });
                    select += "</select>";
                    even.html(select);
                    var nextName = even.next().find("select").attr("name");
                    even.next().html("<select name="" + nextName + "" lay-filter="state"><option value="0">请选择 </option></select>");
                    form.render('select');
                    if (pid != 0) {
                        getJSON(url + "?pid=" + pid, even.next());
                    }
                });
            }
  • 相关阅读:
    界面间传值
    消息通知中心
    ios外部链接或者app唤起自己的app
    iOS跳转第三方应用举例一号店和京东
    ios 传递JSON串过去 前面多了个等号
    react-native 配置 在mac 上找不到.npmrc
    webView 获取内容高度不准确的原因是因为你设置了某个属性
    WKWebView 加载本地HTML随笔
    关于attibutedText输出中文字符后的英文和数字进行分开解析的问题
    iOS 企业包碰到的问题
  • 原文地址:https://www.cnblogs.com/WZH75171992/p/7866356.html
Copyright © 2011-2022 走看看