整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

layui下拉菜单form.render局部刷新方法亲测有效

图网常年专注前端外包开发,这是在近期一次项目切图中遇到的,需要动态添加表单select元素,用到了layui插件,而layui对于一些常用表单元素比如下拉菜单,复选框,单选等都是有做美化的,这样好处就是好看,缺点是需要渲染,以及事件定义需要基于layui提供的方法来做,造成使用成本增加,不过对于layui上手很熟的人来说,基本影响不大。

动态添加的select元素需要进行渲染form.reander(),这样一来会导致整个表单的元素都被渲染,最直接的影响就是如果表单中select下拉菜单等有数据的时候,在渲染的这一刻数据就被清空了,这也很好理解,那么就需要找到一个能够局部更新的方法,如下:

<div class="layui-form" lay-filter="test1">

<select></select>

</div>

【JavaScript】

form.render('select', 'test1'); //更新 lay-filter="test1" 所在容器内的全部 select 状态

//……

确保代码能够生效,这两处必须要加入:

<div class=”layui-form” lay-filter=”test1″>

1、要加这个样式:class=”layui-form”

2、要加这个属性:lay-filter=”test2″

但是这样依旧无法解决,只对于js动态新增的select元素进行form渲染,对于前面的代码进行改良就可以了,代码如下:

$('.add').click(function(){
var timestamp = new Date().getTime();
$('#followlist').append('<div class="layui-form-item layui-row layui-form" lay-filter="t'+timestamp+'" >'+
'<div class="layui-col-md10">'+
'<div class="layui-item">'+
'<label class="layui-form-label"></label>'+
'<div class="layui-input-block">'+
'<div class="layui-input-inline">'+
'<select name="">'+
'<option value="">请选择</option>'+
'<option value="">1111</option>'+
'<option value="">2222</option>'+
'<option value="">3333</option>'+
'</select>'+
'</div>'+
'<div class="layui-input-inline">'+
'<select name="">'+
'<option value="">请选择</option>'+
'<option value="">aaaa</option>'+
'<option value="">bbbb</option>'+
'<option value="">cccc</option>'+
'</select>'+
'</div>'+
'<div class="layui-input-inline" style="width: 100px;">'+
'<button class="layui-btn followdel " type="button">'+
'<i class="layui-icon layui-icon-close" style="color: #fff;"></i>'+
'</button>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>');
//form.render('select', 'test2');
form.render('select', 't'+timestamp);
return false;
})

标签:form.render, layadmin, layui, select, 下拉菜单, 表单渲染

次向大家介绍一个checkbox和radio美化插件checkRadio.js, 为什么只有checkbox和radio美化? 因为input文本框,按钮,文件选择我们都可以通过简单的css就可以美化,唯独checkbox复选框,radio单选框,下拉菜单,滚动条不容易美化, 下拉菜单有了 easydropdown.js 就够了 ,那么我们就只需要 checkbox和radio美化就行了。

该插件已经被用到项目中,比较不错。

插件地址

http://www.qieban.cn/p/checkRadio.js/

切版qieban.cn,靠谱、高性价比前端切图外包选择。

源:设计达人(shejidaren888)

最近在更新设计导航 HTML 代码时,发现有个样式总是加载不出来,经过细看发现竟然是因为用了中文的双引号导致,但因为网页代码编辑器西文和中文的双引号太相似所以忽略查找这个问题,如此初级的问题却浪费了不少时间……

所以最终解决方案就是为网页代码编辑器使用代码专用字体:FiraCode + 中文字体组合(也适用于网页端),使用此方法,可以美化代码效果,减少因字符视觉差造成的小问题,对眼睛疲劳也有一定缓解作用哦。

一、FiraCode字体

FiraCode估计很多资深编码人员都了解过,在 Github 已经有30000 的 Star,它主要有2个特色:

1、字符等宽

每个字符宽度占用距离是一样的,所以无论大小写,你都能看到它是对齐的,但是若遇到有中文字体,这就不太好使了。

2、连字符号设计

当用户如输入 这两个符号,就会自动连在一起。如下图:

二、中文字体选择

为了解决引号的视觉问题,我们还必须选择中文字体,经小编测试一翻后,最后使用了思源黑体,这样引号就比较好分别了。WIN 系统下显示可能会更加明显。当然最后还是个人喜好设置中文字体啦。

mac 系统 Atom 编辑器截图

三、Atom 编辑器修改字体方法

小编使用的免费的 Atom 网页代码编辑器,所以只能用它来举例,其它编辑器修改方法也大同小异,可自行百度哦。

1、选择菜单 Atom ,然后在下拉菜单中选择用户样式设置

2、在「atom-text-editor」加入 font-family 和 font-size 的 CSS 属性:


font-family: "firacode-retina","Source Han Sans CN";
font-size:16px;

需要注意的是,小编使用了 Retina 屏的电脑,所以字体名称就用「firacode-retina」,在非高清屏的下直接使用「firacode」就行,具体大家可以自己试试,区别不是很大。

具体如下图:

四、下载地址

下载的字体非常全面,包含 ttf 及网页端的eot, woff 等字体格式,无需转换就能直接使用。

Firacode 官方下载地址:

https://github.com/tonsky/FiraCode

思源黑体下载地址:

http://www.shejidaren.com/app-she-ji-bi-bei-zi-ti.html

总结

使用FiraCode 中文的字体组合,不仅能让一串串代码变得工整美观,还能减少因字符显示引起的出错率,推荐大家收藏使用。