页面加载两个动态的select选择框时,我的调用顺序是
先追加第一个select的option
再追加第二个select的option
再调用
Layui.use('form', function() {
var form = layui.form();
});
加载整个表单。
在其中遇到了问题,那就是select下拉框的值,在审查元素的时候已经追加了,但是页面下拉框就是没有值
最后发现,原来是ajax异步的问题,也就是我的append方法在success回调函数里面,
在append方法还未执行时,layui.form();已经将表单渲染了。
将ajax改成同步,问题果然解决了。
$.ajax({
type : "POST",
url : url,
dataType : "json",
async : false,//改为同步
success : function(data) {
var html = '';
$.each(data, function(index) {
html = html + '<option value="'
+ data[index].id + '">'
+ data[index].text + '</option>';
});
$("#user").html(html);
}
});
网友评论