js源码:
function initnode(){
$.ajax({
url: path+"/node/initnode",
dataType: "json",
type: "post",
data: {},
success: function (req){
var inithtml="";
$("#nodeModal #nodeid").html("");
for(var i=0;i<req.length;i++){
inithtml+="<option value="+req[i].id+">"+req[i].nodename+"<option>"
}
$("#nodeModal #nodeid").html(inithtml);
},
error: function(req){
layer.msg("请联系管理员!",{offset:320,icon: 5});
}
});
}
页面引用代码:
<div class="layui-form-item">
<label class="layui-form-label">店铺</label>
<div class="layui-input-block" id="nodeModal">
<select name="nodeid" id="nodeid" lay-filter="aihao">
</select>
</div>
</div>
问题(如图):控制台显示数据已经动态加载出来,但是页面下拉列表中没有数据:
解决方案:在循环加载完数据后加上layui.form.render();进行渲染,否则加载不出数据
function initnode(){
$.ajax({
url: path+"/node/initnode",
dataType: "json",
type: "post",
data: {},
success: function (req){
var inithtml="";
$("#nodeModal #nodeid").html("");
for(var i=0;i<req.length;i++){
inithtml+="<option value="+req[i].id+">"+req[i].nodename+"<option>"
}
$("#nodeModal #nodeid").html(inithtml);
layui.form.render(); ///解决关键
},
error: function(req){
layer.msg("请联系管理员!",{offset:320,icon: 5});
}
});
}