zoukankan      html  css  js  c++  java
  • layui中select实现二级关联

    目的:实现店铺和仓库的二级关联,通过选择不同的店铺,来显示这个门店对应的库位信息。

    1. 在select选项上添加lay-filter选择器。

    <div class="layui-inline">
        <label class="layui-form-label-sm">店铺</label>
        <div class="layui-input-inline-sm">
            <select name="siteId" id="siteId" lay-filter="site">
                <option value="">全部</option>
                <c:forEach items="${siteList}"  var="item" varStatus="status">
                    <option value="${item.id }">${item.remark}</option>
                </c:forEach>
            </select>
        </div>
    </div>
    
    
    <div class="layui-inline">
        <label class="layui-form-label-sm">库位</label>
        <div class="layui-input-inline-sm">
            <select name="repositoryId" id="repositoryId" lay-filter="repository">
            </select>
        </div>
    </div>

    2. 添加事件监听器,监听店铺选择事件

    1)form.on实现监听

    2) select(site) 选择监听site这个filter

    3) data.value即选择的值

    4)ajax查询后台获取id为data.value的对应的仓库集合

    5)遍历json,拼接 option选择项。

    6)$('#repositoryId').append(repositoryHtml);   // 将拼接结果加入到仓库的选项中

    7)renderForm(); //重新渲染form

    //监听select
    form.on('select(site)',function (data) {
        $.ajax({
            type: 'get'
            ,url: ctx+'/repository/getComboxList'
            ,data:{'siteId':data.value}
            ,success:function(res){
                var repositoryHtml = '';
                var resJson = $.parseJSON(res);
                for(i in resJson){
                    repositoryHtml += '<option value="'+resJson[i].id + '">' + resJson[i].locName + '</option>';
                }
                $('#repositoryId').html('').append("<option value="">全部</option>");
                $('#repositoryId').append(repositoryHtml);
                $("#repositoryId").find('option:eq(1)').attr('selected', true);
    
                renderForm();  //需要重新渲染
            }
        });
    })

    renderForm()

    function renderForm() {
        layui.use('form',function () {
            form.render('select');
        })
    }
  • 相关阅读:
    理解jquery的$.extend()、$.fn和$.fn.extend()
    jquery中的$.fn的用法
    【转】区别 (function($){...})(jQuery)、$(function(){ })和$.fn
    linux常用目录和文件解析
    Linux通配符与正则表达式
    CentOS6配置邮件发送
    svn简单上传下载文件命令
    CentOS6源码安装zabbix服务器
    搭建zabbix服务器常见问题解析处理
    CentOS6安装Zabbix(RPM包)
  • 原文地址:https://www.cnblogs.com/30go/p/11827420.html
Copyright © 2011-2022 走看看