本文主要解决的问题:
有些下拉框的数据需要从远程获取,这是需要将远程获取的值动态的赋值到下拉框中。
核心代码部分为:
在select标签上面的class属性中加一公共类名称,newclassname
界面加载完成时请求远程数据,将返回的数据渲染到多个option标签中
获取到上面定义的 类名 对应的jquery对象,调用append方法,将多个option标签追加到select标签中
最后要重新渲染一下select标签,layui.form.render(‘select’); 否则可能还是会不展示下拉数据
<div class="layui-form-item">
<label class="layui-form-label"><span class="star">*</span>名称:</label>
<div class="layui-input-inline">
<select name="" lay-filter="eventName" id="" class="layui-input newclassname">
<option value="" selected>名称</option>
</select>
</div>
<br/>
</div>
$(function(){
$.ajax({
type: "",//get或者post
url: '',
data:{},//参数 接口传参 json对象
success: function (res) {
if(res.data){
var optionHtml = '';
for(var i in res.data){
var value1 = res.data[i]['value1'];
var value2 = res.data[i]['value2'];
optionHtml += "<option value='" + value1 + "'>" + value2 + "</option>";
}
$('.newclassname').append(optionHtml);
layui.form.render('select');
}
}
});
})