用layUI做前端框架开发,结果在打开弹窗后怎么都不显示下拉列表,得了,再刷一下layUI的框架实例,找到了解决办法。
function addEnvironment() {
var $html = '';
$html += '<div class="layui-fluid xjfw environment">';
$html += '<div class="layui-row">';
$html += '<form class="layui-form" id="environment-form" >';
$html += '<div class="layui-form-item">';
$html += '<label for="L_username" class="layui-form-label layui-form-label-w">';
$html += '<span class="x-red">*</span>测试环境名称';
$html += '</label>';
$html += '<div class="layui-input-inline ">';
$html += '<input type="text" id="name" name="name" placeholder="" lay-verify="nikename" class="layui-input">';
$html += '<input type="hidden" name="id" id="id" value=""></input>';
$html += '</div>';
$html += '<div class="layui-form-item layui-form-text">';
$html += '<label for="desc" class="layui-form-label layui-form-label-w">测试环境说明</label>';
$html += '<div class="layui-input-block servewrap layui-input-block-l">';
$html += '<textarea placeholder="请输入内容" id="remarks" name="remarks" class="layui-textarea"></textarea>';
$html += '</div>';
$html += '</div>';
$html += '<div class="layui-form-item">';
$html += '<label for="username" class="layui-form-label layui-form-label-w"><span class="x-red">*</span>所有者</label>';
$html += '<div class="layui-input-inline">';
$html += '<select name="user" id="administrator"></select>';
$html += '</div>';
$html += '</div>';
$html += '<div class="layui-form-item">';
$html += '<label for="protected" class="layui-form-label layui-form-label-w">是否共享</label>';
$html += '<div class="layui-input-inline">';
$html += '<select name="protected_" id="protected">';
$html += '<option value="0">私有</option>';
$html += '<option value="1">共享</option>';
$html += '</select>';
$html += '</div>';
$html += '</div>';
$html += '<div class="layui-form-item">';
$html += '<label for="status" class="layui-form-label layui-form-label-w">状态</label>';
$html += '<div class="layui-input-inline">';
$html += '<select name="status" id="status">';
$html += '<option value="0">关闭</option>';
$html += '<option value="1">开启</option>';
$html += '</select>';
$html += '</div>';
$html += '</div>';
$html += '</form>';
$html += '</div>';
$html += '</div>';
layer.open({
type: 1
,title: '新建测试环境'
,closeBtn: false
,area: '600px'
,shade: 0.8
,id: 'LAY_layuipro' //设定一个id,防止重复弹出
,btn: ['保存', '取消']
,btnAlign: 'l'
,moveType: 1 //拖拽模式,0或者1
,content: $html
,success: function(layero){
layui.use('form', function(){
getSystem();
var form = layui.form;
form.render();
});
}
});
}
如上图所示,在尾部success方法中加入表单渲染,即
success: function(layero){
layui.use('form', function(){
getSystem();
var form = layui.form;
form.render();
});
}
此处getSystem()方法用于动态从数据库中取值,之后将方法放在表单渲染的上方才能够取到值,否则取不到。