问题:我将layer.open 下的content:内容写在body内,通过onchange事件无法获取select选中的值
html代码
<div style="display: none" id="labeladdBox">
<form class="form-horizontal" style="margin-top: 50px;">
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right">模块</label>
<div class="col-sm-6" style="margin-top: 7px">
<select name="mid" id="mid" onchange="checkMokuai()">
<option value="0">请选择模块</option>
{volist name="mlist" id="vo"}
<option value="{$vo.id}">{$vo.name}</option>
{/volist}
</select>
</div>
<p class="help-block col-sm-4 red">* 必填</p>
</div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right">上级</label>
<div class="col-sm-6">
<select name="pid" id="labelList">
<option value="0">根目录</option>
</select>
</div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label no-padding-right">名称</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="lastname" name="name" placeholder="请输入名称">
</div>
</div>
</form>
<div style="width: 100%;text-align: center">
<button type="button" class="layui-btn layui-btn-normal" style="width: 200px;" onclick="">提交数据</button>
</div>
</div>
</body>
</html>
js代码
addLabelmodel = layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
area: ['800px', '640px'], //宽高
content: $("#labeladdBox").html()
/*success: function(layero, index){
// 重新渲染弹层中的下拉选择框select
form.render('select');
}*/
});
解决方法: 将弹框的html到代码写在body之外,并且content:后面需要去掉html()
html代码
</body>
<div style="display: none" id="labeladdBox">
<form class="form-horizontal" style="margin-top: 50px;">
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right">模块</label>
<div class="col-sm-6" style="margin-top: 7px">
<select name="mid" id="mid" onchange="checkMokuai()">
<option value="0">请选择模块</option>
{volist name="mlist" id="vo"}
<option value="{$vo.id}">{$vo.name}</option>
{/volist}
</select>
</div>
<p class="help-block col-sm-4 red">* 必填</p>
</div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right">上级</label>
<div class="col-sm-6">
<select name="pid" id="labelList">
<option value="0">根目录</option>
</select>
</div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label no-padding-right">名称</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="lastname" name="name" placeholder="请输入名称">
</div>
</div>
</form>
<div style="width: 100%;text-align: center">
<button type="button" class="layui-btn layui-btn-normal" style="width: 200px;" onclick="">提交数据</button>
</div>
</div>
js代码
addLabelmodel = layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
area: ['800px', '640px'], //宽高
content: $("#labeladdBox")
/*success: function(layero, index){
// 重新渲染弹层中的下拉选择框select
form.render('select');
}*/
});
结果: