如何修改layer/layui中的confirm

需求:

原始图改成修改后

背景:

这个confirm是layui中的layer弹出框,要想修改这个弹出框的内容岂不是要去修改源码?当我在源码里扒拉半天梳理好了逻辑之后,突然意识到,其实我本可以不必这么麻烦的,直接找到这个弹窗append元素进去就不就完了么?卧槽!
所以我在代码里加了一行注释 浪费在这里的时间=2h

10分钟可以搞定的解决方案:

1
2
3
4
5
6
7
var option = {1:'筛选项1',2:'筛选项2'};
var optionString = '';
for(let i in option) {
optionString =optionString+'<option value="'+i+'">'+option[i]+"</option>";
}
//一定要给加入的元素加入id,提交的时候取值方便
$(".layui-layer-content").append("<br/><select id='reinvest_type'>"+optionString+"</select>");

结语

尽可能的不要犯蠢吧,有些问题并不像看上去那么难。

当然修改源码也是可以的,而且还能做成一个通用方案,不过相当耗时。问题是没必要,整个项目就一处需要这样干,我们尽可能选择效率最高的那种方案。

layer.js错误Uncaught TypeError: i is not a function

最初是要写一个管理后台来着,项目中需要用到弹出层,但是没有前端配合,我一个小PHP需要去写这玩意,怎么办呢?查了一些资料,发现layer对我来说还行,文档写的也比较完全,学习成本不高,就下决心用这个了。但是现实总是会给你泼冷水,刚引入就报了一个莫名其妙的错误。

i is not a function

呐,就是这个,我自己一个人在那里纳闷,卧槽,我啥也没做啊,我只是引入进来怎么还报错了呢?

我还心想着,这个layer.js也已经被很多人用了,不太可能是这个插件的问题吧。我就把引入的js文件一个一个的注释掉,开始排查,后来发现,单独引入layer,或者单独引入JQuery都是没有问题的,但是同时引入的话,就会报错,我也有点懵逼了,什么鬼,这两个js冲突了?后来突然想到,马丹,layer.js是依赖于JQ的。

后记:其实以上问题都是不仔细看别人的文档造成的。

来自layer.js官网的说明:

来自官网的说明

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×