layui 二级联动
HTML 部分
<form onsubmit="return false;" action="__SELF__" data-auto="true" method="post" class='form-horizontal layui-form' style='padding-top:20px'> <input type="hidden" name="id" value="{:input('id')}"/> <div class="form-group"> <label class="col-sm-2 control-label">期刊</label> <div class='col-sm-3'> <select name="magazine" placeholder="请选择期刊" lay-filter="magazine"> <option value="">请检索关键词或选择</option> {volist name="$magazines" id="magazine"} <option value="{$magazine.id}">{$magazine.name} </option> {/volist} </select> </div> <div class="col-sm-3"> <select name="publish" id="publish"> <option value=""></option> </select> </div> </div> <div class="hr-line-dashed"></div> <div class="col-sm-8 col-sm-offset-2"> <div class="layui-form-item text-center"> <button class="layui-btn" type="submit">提交数据</button> </div> </div> </form>
JS 部分
<script> layui.use('form', function(){ var form = layui.form; form.on('select(magazine)', function(data){ var areaId=data.elem.value; $.ajax({ type: 'POST', url: "{:url('getPublish')}", data: {areaId:areaId}, dataType: 'json', success:function(e){ console.log(e.data); //empty() 方法从被选元素移除所有内容 $("select[name='publish']").empty(); var html = "<option value='0'>选择期数</option>"; $(e.data).each(function (v, k) { html += "<option value='" + k.id + "'>" + k.title + "</option>"; }); //把遍历的数据放到select表里面 $("select[name='publish']").append(html); //从新刷新了一下下拉框 form.render('select'); //重新渲染 } }); }); }); </script>