视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
layui复选框使用介绍
2020-11-27 14:05:40 责编:小采
文档


layui复选框:

效果图

layui复选框,一个主的复选框控制多个从复选框,主复选框和从复选框的颜色不一样

layui复选框的样式,都是在选然后才会有的,所以直接通过css设置就实现不了了。只可以通过js动态设置

html代码使用了jfinal的模板

<div class="layui-inline">
 <label class="layui-form-label"><font class="faiqi-font-red-star">*</font>#(i18n.get('所属校区'))</label>
 <div class="layui-input-block">
 <input id="qx" lay-filter="allCheck" type="checkbox" value="" name="" title="#(i18n.get('全选'))" > 
 #for(campus : campusList)
 <input type="checkbox" lay-filter="campus" class="campus" value="#(campus.id)" name="campusIds[#(campus.id)]" title="#(campus.campusName)" #(campusIdStr.contains(',' + campus.id + ',') ? 'checked="checked"':'')>
 #end
 </div>
 </div>

layui代码

$(function(){
 
layui.use('form', function(){
 var form = layui.form;
 form.on("checkbox(allCheck)", function(data){
 console.log(data);
 console.log(data.elem.checked);
 if (data.elem.checked) {
 //动态设置全选按钮颜色,不可以这里设置,这里设置后,前端选然后不会有效果的,
 //猜测原因是,form.render("checkbox"); 导致的,设置后layui又渲染了,把我自己设置的颜色覆盖了。所以设置需要在渲染后再设置,就等于是用我的css覆盖了layui的css
 $(".campus").each(function(){
 $(this).prop('checked', true);
 });
 } else {
 $(".campus").each(function(){
 $(this).prop('checked', false);
 });
 }
 form.render("checkbox");
 //渲染后设置我的颜色
 allCheckbox();
 });
 
 //查看是否被全选了,全选了,全选按钮编辑的时候就是被选中中状态
 function initselect(){
 let allSelect = true;
 $(".campus").each(function(index, elem){
 //每个checkbox添加点击事件,如果点击了,使得所有的按钮中出现了不被选中的,那么全选按钮就不被选中
 if($(this).prop('checked') == false){
 allSelect = false;<br> 
 }
 });
 console.log("是否全选",allSelect)
 $("#qx").prop('checked',allSelect);
 form.render("checkbox");
 //记得把设置事件放到渲染事件后
 allCheckbox();
 }
 initselect();
 
 //校区点击事件,如果有校区没有被选中,那么全选按钮就不能够显示选中状态
 form.on("checkbox(campus)", function(data){
 let checked = data.elem.checked;
 initselect();
 });
 
});
 
 //全选按钮和其他按钮的颜色不一样
 function allCheckbox(){
 qx1=$('#qx').next('div').children('span');
 if($('#qx').prop('checked')){
 //被选中就设置颜色
 qx1.css({
 'background-color':'#e4393c'
 })
 }
 }
 //初始化设置全选按钮的颜色,
 allCheckbox();<br><br>})

css

<style>
.layui-form-checkbox span {
 width:154px
 }
.layui-unselect.layui-form-checkbox{
 margin-bottom:5px;
 }
 .layui-form-checkbox span{
 color:#4C5277;
 }
 .layui-form-checked span{
 color:#fff;
 }
 /*.layui-form-checked span{
 background-color:#b31717!important;
 }*/
</style>

更多layui知识请关注layui使用教程栏目。

下载本文
显示全文
专题