记录Layui-select中的搜索下拉框lay-search相关的使用(对于初次使用是真的难顶)

        对于一个后端开发人员来说,常用的easyUI,miniUI,bootstrap,layUI等前端整合式的UI框架能很好的提高页面美观程度以及开发效率

        我个人在开发中,使用过miniUI,bootstrap,layUI,其中miniUI是在公司开发时公司要求学习使用的,个人写东西还是偏重于layUI和bootstrap,毕竟看着漂亮点.

        本次记录的内容是lay-search这个属性在使用时的问题(可能我能力不够,卡了我两个多小时),因为浪费了过多时间,所以记录一下,在我之前有很多类似的文章,但是都很零碎,没有一个比较全的(搜索水平有限)

        首先,lay-search这个属性的作用是:将一个

这里,有个问题就出来,很多人写了select标签,也写了lay-search,但是就是不能选择输入,什么原因?

这里就是第一个问题,select中的lay-search这个属性,必须在layui-form标签中才可以生效

如果说没有layui-form包裹,那么你的select仅仅只是一个正常的标签里面永远没有我的数据,不管我是用id渲染还是用name获取元素去渲染,都没有数据,不管我用append还是add都一样,最后在layui的文档中发现了,让你给这个lay-search以后重新给了数据以后,需要调用layui.form这个对象进行一次调用,进行重新渲染.否则不会生效.

所以我就这样写了:

layui.use(['element','form'], function(){
        var $ = layui.jquery
            ,element = layui.element; //Tab的切换功能,切换事件监听等,需要依赖element模块
        var form = layui.form;
        $.ajax({
            type: "POST",
            url: prefix + "/*****",
            data: null,
            dataType: 'json',
            success: function(result) {
                var datas = "";
                var data = result.data;
                for(var i = 0;i/g,"").replace(/ /g,"");
                    datas += "";
                }
                $('#TemplateOptions').append(datas);
                form.render('select');
            },
            error: function(error) {
                $.modal.alertWarning("获取模版数据失败");
            }
        });
});
在layui这个js模块初始化的时候顺便获取了下数据这里就是调用重新渲染,括号里面写select就是只重新渲染了当前页面的所有select,如果什么都不写就是默认全页面重新渲染

 

最后,我希望在我选择以后,这个数据要放在其他的地方,或者弹出来等,然后我就很耿直的去和以前纯js开发那样,直接给option里面去拼接了onchange事件,这样的话,选择完不就可以直接拿值了吗?

嘿嘿......怎么可能满足你.事实是,拼接了onchange事件以后,并没有啥卵用,不会其任何作用,你打开他的页面结构你会发现记录Layui-select中的搜索下拉框lay-search相关的使用(对于初次使用是真的难顶)_第1张图片这鬼地方哪来的所谓的option????所以你绑定的东西.并没有啥卵用,那怎么办呢?

 

layUI,bootstrap等UI框架都需要做的一件事,就是事件监听.你需要自己去初始化一个监听事件,这里我并没有了解过为什么这样,听前端朋友说这样写会好一点,安全一点

form.on('select(selectTemplate)',function(data){
            console.info(data.value);
        })

在刚刚的ajax获取数据的代码下面,layui初始化方法的里面,我加上了这么一行,这样以后,你就可以在你下拉框中的数据确定变动以后,获取到这里的数据.

 

这次的记录就这些,希望以后有人使用这个东西,能花费很少的时间完工

你可能感兴趣的:(layUI,layUI,前端,lay-search,搜索下拉框)