layui动态添加下拉框组件并动态渲染数据
时间: 2023-12-27 22:02:03 浏览: 120
在使用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`函数进行初始化,并监听下拉框选中事件,输出选中的值和文本。
阅读全文