layui在layer层中日期展示
在编辑的弹出层里需要展示日期控件,大家都知道的是,如果直接在主页面上使用下面的写法就能实现:
laydate.render({
elem: '#certDate' //指定元素
,theme:"#6fba2c"
,show:true
});
但是在layer弹出层中,直接在弹出层的success中这样写,便会出现日期控件,点击后闪一下就消失了。F12选中element后,再次点击文本框可能会出现日期控件,能改变值后隐藏。但是这个终归是一个bug。
今天找了很久终于找到了解决办法:
var editLayerIndex = layer.open({
type: 1,
title: ["<i class='from-edit-title'></i>编辑", "background-color: #f0f0f0;font-size: 20px;color: #55a722;height: 56px;line-height: 56px;display: flex;padding: 0"],
closeBtn: 1,
skin: "pop-set",
area: ["1000px","500px"],
maxHeight:"500px",
moveType: 1,
resize: false,
isOutAnim: true,
scrollbar: false,
anim: 1,
content: $('#EditModel').html(),
success: function (layero, index) {
//渲染日期控件
$(layero).find('#certDate').on('focusin', function () {
laydate.render({
elem: this
,theme:"#6fba2c"
});
$(this).attr("readonly",true);//设置日期控件的文本框只读
})
},
end: function (){
$('#EditModel').hide();
}
});
编辑框内有返回按钮,要做一个按钮的点击事件
$("#backBtn").click(function(){
layer.msg("点击了");
})
这样写在layer层success回调函数中,点击根本不会执行,把click方法放入外面仍然不行。
最后解决办法是:
success: function (layero, index) {
//编辑,点击返回按钮
$(layero).find('.backBtn').on('click', function () {
layer.close(index);
})
},