layui 自动渲染_layui——动态渲染下拉框

需求

动态的给下拉框赋值,且仍具有layui的样式

实现

html代码,保留一个请选择(可去除,默认下拉会选择第一个)

最重要的是这个class属性layui-form,很多人是因为没有添加这个属性导致layui.form.render()重新渲染无效

请选择

js代码,layui.use中一定要添加form属性

layui.use('form', function(){

getClassify();

}

function getClassify(){

$.ajax({

url:$.mn.constant.url+'/classify',

success:function(res){

if(res.success){

for(var i =0;i

$("#classifyId").append(""+res.data.classify[i].classifyName+"");

}

//重新渲染

layui.form.render("select");

}else{

layer.msg(res.message);

}

}

});

}

结果

如果class未添加layui-form,则效果如下(样式丢失)

59e9742592e5

image

如果未执行layui.form.render("select"),则效果如下(没有赋值上去)

59e9742592e5

image

如果万事具备,则如下

59e9742592e5

image

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用layui框架进行动态添加下拉框组件并动态渲染数据时,可以使用下面的代码实现: HTML代码: ```html <div class="layui-form-item"> <label class="layui-form-label">下拉框:</label> <div class="layui-input-block"> <select name="select" lay-filter="select"> <option value="">请选择</option> </select> </div> </div> ``` JavaScript代码: ```javascript layui.use(['form', 'jquery'], function(){ var form = layui.form; var $ = layui.jquery; // 动态渲染下拉框数据 function renderSelect() { var data = [{value: 1, text: '选项1'}, {value: 2, text: '选项2'}, {value: 3, text: '选项3'}]; var select = $('select[name=select]'); select.empty(); select.append('<option value="">请选择</option>'); layui.each(data, function(index, item){ select.append('<option value="'+ item.value +'">'+ item.text +'</option>'); }); form.render('select'); } // 动态添加下拉框组件 function addSelect() { var html = '<div class="layui-form-item">'+ '<label class="layui-form-label">下拉框:</label>'+ '<div class="layui-input-block">'+ '<select name="select" lay-filter="select">'+ '<option value="">请选择</option>'+ '</select>'+ '</div>'+ '</div>'; $('.layui-form').append(html); renderSelect(); } // 初始化页面 renderSelect(); // 点击按钮添加下拉框组件 $('#addSelect').click(function(){ addSelect(); }); // 监听下拉框选中事件 form.on('select(select)', function(data){ console.log(data.value + ' ' + data.elem[data.elem.selectedIndex].text); }); }); ``` 在上述代码中,首先使用`layui.use`方法加载`form`和`jquery`模块,然后定义了两个函数`renderSelect`和`addSelect`,分别用于动态渲染下拉框数据和动态添加下拉框组件。在`renderSelect`函数中,通过定义一个数据数组,然后遍历该数组,动态添加下拉框选项,并调用`form.render('select')`方法进行渲染。在`addSelect`函数中,通过拼接HTML代码,动态添加一个下拉框组件,并调用`renderSelect`函数进行数据渲染。最后,在页面加载完毕后,调用`renderSelect`函数进行初始化,并监听下拉框选中事件,输出选中的值和文本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值