layui checkbox 复选框 单选 取消选择

本文介绍了一种将HTML中的复选框通过JavaScript转换为单选框的方法,实现了用户在一组选项中只能选择一项的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<div class="layui-form">
  <input type="checkbox" lay-skin="primary" name="dutyWatch" value="1" title="在岗" >
  <input type="checkbox" lay-skin="primary" name="dutyWatch" value="2" title="不在岗"  >
</div>
  // 复选框变单选框
  form.on('checkbox', function (data) {
    var oldState = data.elem.checked // 记录状态
    var elName = data.elem.name || '' // 取当前名称
    $("input[name='"+elName+"']").prop("checked", false);   //全部取消选中
    $(this).prop("checked", true);                          //勾选当前选中的选择框    
    if(!oldState){ // 如果是flase表示点击的是之前已被选中的那个
      $(this).prop("checked", false); // 取消勾选当前的
    } 
    form.render('checkbox');
  });

效果

单选
在这里插入图片描述
取消选择
在这里插入图片描述

layui 静态表格中,可以通过监听复选框中事件,来实现单选功能。具体实现步骤如下: 1. 在页面中定义数据表格,并设置其复选框列的 lay-skin 属性为 primary,表示使用原始风格的复选框。同时,设置表格的 lay-filter 属性为 demo,用于后续的事件监听。 ```html <table class="layui-table" lay-filter="demo"> <thead> <tr> <th><input type="checkbox" name="" lay-skin="primary" lay-filter="allChoose"></th> <th>ID</th> <th>姓名</th> <th>性别</th> <th>城市</th> </tr> </thead> <tbody> <tr> <td><input type="checkbox" name="" lay-skin="primary"></td> <td>1</td> <td>小明</td> <td>男</td> <td>北京</td> </tr> <tr> <td><input type="checkbox" name="" lay-skin="primary"></td> <td>2</td> <td>小红</td> <td>女</td> <td>上海</td> </tr> <!-- ... --> </tbody> </table> ``` 2. 在 JavaScript 代码中,监听表格的复选框中事件,并在事件处理函数中,根据中状态来判断是否需要取消其他行的中状态。 ```javascript layui.use(['table', 'jquery'], function(){ var table = layui.table; var $ = layui.jquery; // 监听表格复选框选择 table.on('checkbox(demo)', function(obj){ var checkStatus = table.checkStatus('demo'); var data = checkStatus.data; var isChecked = obj.checked; var rowIndex = obj.data.LAY_TABLE_INDEX; if (isChecked) { // 如果中,则取消其他行的中状态 for (var i = 0; i < data.length; i++) { if (data[i].LAY_TABLE_INDEX != rowIndex) { table.checkStatus('demo').data[i].LAY_CHECKED = false; } } } }); }); ``` 在上述代码中,我们使用 layui 的 table 模块监听表格的复选框中事件,并在事件处理函数中,根据中状态来判断是否需要取消其他行的中状态。这样,就可以实现静态表格复选框单选功能了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值