本文介绍如何在Layui框架中,通过jQuery AJAX请求后台JSON数据,动态向select元素追加option选项。重点演示如何在遍历数据的同时,利用val()方法指定默认选中项,并调用form.render()完成表单渲染,确保前端展示与交互正常。
Layui动态生成下拉框并默认选中
首先在HTML的form表单结构中定义一个select元素,为其指定ID和name属性,以便后续通过JavaScript进行控制。
<div class="layui-form-item">
<label class="layui-form-label">下拉选择框</label>
<div class="layui-input-block">
<select id="selectId" name="interest" lay-filter="city">
</select>
</div>
</div>
接着在Layui中加载form和jquery模块,通过Ajax请求获取后台数据,遍历结果动态向select追加option标签,并设置默认选中的值。
layui.use(['form','jquery'], function(){
//----------模块----------
var form = layui.form,$=layui.$;
//动态添加下拉框 同时可以设置默认值
$.ajax({
url:'../json/selectId.json',
dataType:'json',
//type:'post',
success:function(data){
$.each(data,function(index,item){
console.log(item);
//option 第一个参数是页面显示的值,第二个参数是传递到后台的值
$('#selectId').append(new Option(item.cityName,item.cityId));//往下拉菜单里添加元素
//设置value(这个值就可以是在更新的时候后台传递到前台的值)为2的值为默认选中
$('#selectId').val(2);
})
form.render(); //更新全部表单内容
//form.render('select'); //刷新表单select选择框渲染
}
});
});
此处模拟后台返回的JSON格式数据,包含城市名称和对应的ID字段,用于前端解析并生成下拉选项。
[
{
"cityName":"上海",
"cityId":"1"
},
{
"cityName":"杭州",
"cityId":"2"
},
{
"cityName":"深圳",
"cityId":"3"
},
{
"cityName":"北京",
"cityId":"4"
}
]
最终页面展示效果如下,默认选中cityId为2的选项,即杭州。

以上即为Layui根据后台数据动态创建下拉框并实现默认选中的完整实现过程,供开发者参考使用。