layui表格checkbox选择全选样式及功能

在之前的版本,默认复选框是要有值得,默认为“勾选”两个字,在表格里用来做选择不适合,很难改,还好layui升级后,可以支持不写name值,来适应表格中的选择操作。

1.layui版本号为 v1.0.9 rls版本(当前最新版本)

   

	<div class="layui-form">
	  <table class="layui-table">
	    <thead>
	      <tr>
	        <th><input type="checkbox" name="" lay-skin="primary" lay-filter="allChoose"></th>
	        <th>人物</th>
	        <th>民族</th>
	        <th>出场时间</th>
	        <th>格言</th>
	      </tr> 
	    </thead>
	    <tbody>
	      <tr>
	        <td><input type="checkbox" name="" lay-skin="primary"></td>
	        <td>贤心</td>
	        <td>汉族</td>
	        <td>1989-10-14</td>
	        <td>人生似修行</td>
	      </tr>
	      <tr>
	        <td><input type="checkbox" name="" lay-skin="primary"></td>
	        <td>张爱玲</td>
	        <td>汉族</td>
	        <td>1920-09-30</td>
	        <td>于千万人之中遇见你所遇见的人,于千万年之中,时间的无涯的荒野里…</td>
	      </tr>
	    </tbody>
	  </table>
	</div>
	<script type="text/javascript" src="plugins/layui/lay/dest/layui.all.js"></script>
	<script type="text/javascript">
		var $ = layui.jquery,
			form = layui.form();
		//全选
		form.on('checkbox(allChoose)', function(data){
		    var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]');
		    child.each(function(index, item){
		      item.checked = data.elem.checked;
		    });
		    form.render('checkbox');
		});
	</script>
2.版本号为 v1.0.9 rls之前的版本需要更新几个文件

   (a)layui\lay\dest 里的 layui.all.js文件

   (b)layui\lay\modules里的 form.js 文件

   (c)layui\css 里的 layui.css 文件

      将以上三个文件从最新版本中覆盖到原来的版本,即可轻易实现checkbox的样式



  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
layui 中,如果要实现多个 checkbox全选/取消全选功能,可以使用 `form` 模块的 `on` 方法,绑定 `checkbox` 的点击事件,然后通过 `prop` 方法修改其他 checkbox选择状态。 示例代码如下: HTML: ```html <div class="layui-form-item"> <input type="checkbox" name="checkAll" lay-skin="primary" title="全选"> <div class="layui-input-block"> <input type="checkbox" name="like[1]" lay-skin="primary" title="复选框1"> <input type="checkbox" name="like[2]" lay-skin="primary" title="复选框2"> <input type="checkbox" name="like[3]" lay-skin="primary" title="复选框3"> </div> </div> ``` JavaScript: ```javascript //监听全选 form.on('checkbox(checkAll)', function(data){ var child = $(data.elem).parents('.layui-form').find('input[type="checkbox"]'); child.each(function(index, item){ item.checked = data.elem.checked; }); form.render('checkbox'); }); //监听每个复选框 form.on('checkbox', function(data){ var child = $(data.elem).parents('.layui-form').find('input[type="checkbox"]'); var checkedChild = $(data.elem).parents('.layui-form').find('input[type="checkbox"]:checked'); if (checkedChild.length === child.length) { $(data.elem).parents('.layui-form').find('input[name="checkAll"]').prop('checked', true); } else { $(data.elem).parents('.layui-form').find('input[name="checkAll"]').prop('checked', false); } form.render('checkbox'); }); ``` 以上代码中,监听了全选复选框和每个子复选框的点击事件,通过 `prop` 方法修改其他 checkbox选择状态,最后通过 `form.render('checkbox')` 方法重新渲染 checkbox,使其生效。 希望能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优小U

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值