需求:点击下图中的下拉框,在导入数据时,动态传递select的值
HTML代码如下
<div class="layui-inline">
<select id="selMold" lay-filter="selMold" class="layui-input" style="width:50px;">
<option value="1">视频</option>
<option value="2">音频</option>
<option value="3">图文</option>
<option value="4">PDF</option>
<option value="5">长图</option>
</select>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-small layui-btn-normal" id="excelIn">导入数据</button>
</div>
JS代码如下
layui.use(['form', 'upload'], function () {
var form = layui.form;
var upload = layui.upload;
var mold;
form.on('select(selMold)', function (data) {
form.render('select');
});
//数据导入
upload.render({
//导入按钮的id
elem: '#excelIn',
//控制器地址
url: "/platform/sections/excelIn",
accept: "file",
exts: 'xls|xlsx',
//传参
data:{"mold":mold},
before: function (obj) {
//这个位置动态获取下拉框的值,并赋值给data中的mold
this.data.mold = $('#selMold').val();
loading('导入中,请稍后...');
},
//成功后的处理,根据实际情况,自行操作
done: function (res, index) {
layer.confirm(res.msg, function () {
layer.closeAll();
$(".layui-laypage-btn")[0].click();
});
},
//失败的信息弹窗
error: function (res) {
msg(res.msg);
}
});
});
控制器接收参数,直接用param就可以了