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

boyanx24小时前技术教程1

切图网常年专注前端外包开发,这是在近期一次项目切图中遇到的,需要动态添加表单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, 下拉菜单, 表单渲染

标签: layui 多选

相关文章

G猫毛纷飞别发愁,源头控制+日常清洁+空气管理,轻松搞定!

处理猫毛可结合源头控制与日常清洁。源头控制方面,要定期梳毛(长毛猫用宽齿梳、短毛猫用细齿梳),调整饮食,提供低盐高蛋白食物并补充卵磷脂。日常清洁可使用粘毛滚筒、手持吸尘器等清理地面,用粘毛器、湿布手套...

Layui与WinForm通用权限管理系统全解析

嘿,小伙伴们,今天咱们来聊聊Layui和WinForm这两个框架在通用权限管理系统中的应用。别担心,我会尽量用简单易懂的语言来讲解,保证让大家都能跟上节奏!首先说说Layui。Layui是一个前端UI...

老牌翘楚VS新锐黑马,微服务开发你会选谁?

微服务,或者说微服务架构,是一种将单体应用程序划分为一组小型服务的方法。每个服务都运行在其独立的进程中,并且服务之间通过定义明确的 API 进行通信。这样的架构设计允许团队独立地开发和部署各自的服务,...

springboot教务管理系统+微信小程序云开发附带源码

今天给大家分享的程序是基于springboot的管理,前端是小程序,系统非常的nice,不管是学习还是毕设都非常的靠谱。本系统主要分为pc端后台管理和微信小程序端,pc端有三个角色:管理员、学生、教师...

开源的项目任务协作管理系统 —— 勾股 DEV 3.12.18 发布

勾股 DEV 是一款专为 IT 研发团队打造的项目管理与团队协作的系统工具,可以在线管理团队的工作、项目和任务,覆盖从需求提出到研发完成上线整个过程的项目协作。勾股 DEV 通过 “项目(Projec...

使用了deepseek 快速开始前后端开发

deekseek 是在是太好用了,对于我们这种嵌入式服务端全栈的开发者来说,layui前端是比较好的选择,毕竟不需要VUE前端,小型项目还是比较快速生成的,现在有了deepseek的加持,前端都能够解...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。