form表单单独渲染一个select的方法。

分享 未结
1 1700
SevenZhang
SevenZhang 2017-12-21
悬赏:20飞吻
在layui框架中,默认渲染使用form.render()方法。官方文档中使用form.render(type, filter)方法可以过滤渲染某个表单。type支持 select,checkbox,radio;filter的值就是.layui-form所对应的属性lay-filter值。但是当我们动态加载select后想单独渲染的话,就在异步加载完成后重新渲染,使用form.render(type, filter)。
问题来了,这个时候实际上我们单独渲染一个select就行了,但是按照官方的说明的话,我们是要渲染整个表单,那么有没有方法只渲染一个select呢,答案是有的,方法如下:
以上图片是源码中的渲染方法,ELEM变量的值就是.layui-form。所以如果你定义了一个过滤属性lay-filter=”form“并传入进去,那么框架拼接字符串后elemForm=$('.layui-form[lay-filter=“form”]’)。所以我这里的单独渲染方法有点不太一样,就是在这个拼接的字符串上下手,比如form.render('select','form"] .layui-form-item[lay-filter="test'),这段看起来很不正常的拼接,在传入框架中之后拼接出来的就是elemForm=$('.layui-form[lay-filter=“form”] .layui-form-item[lay-filter="test“’) 这样就能对.layui-form[lay-filter=“form”] 下的某个select进行渲染。注意 :后面紧跟的.layui-form-item[lay-filter="test“必须写在你要渲染的select之前。因为源码中查找你要渲染的select的时候使用的是$.find方法,主要是使用拼接字符串的方式处理,注意引号,双引号,空格。
谨以此法献给各位,也希望与各位多多学习共同进步,第一次发帖,不会排版,望见谅。
回帖
本帖已设置禁止回复