layui 数据表格实现复选框单选功能的代码示例

作者:开源拾贝

时间:2026-10-23

浏览:478

本文介绍了如何在 layui 数据表格中将默认的复选框改为单选模式。通过监听表格行的点击事件,利用 jQuery 操作 DOM 元素,实现点击某一行时自动勾选该行并取消其他行的选中状态,同时阻止对复选框本身的点击冒泡,确保交互逻辑正确。

文章目录

layui 数据表格复选框单选实现

以下直接展示实现代码,供参考使用。

具体实现如下:


//点击选中(单选)
//单击行勾选checkbox事件
  $(document).on("click",".layui-table-body table.layui-table tbody tr", function () {
    var index = $(this).attr('data-index');
    var tableBox = $(this).parents('.layui-table-box');
    //存在固定列
    if (tableBox.find(".layui-table-fixed.layui-table-fixed-l").length>0) {
      tableDiv = tableBox.find(".layui-table-fixed.layui-table-fixed-l");
    } else {
      tableDiv = tableBox.find(".layui-table-body.layui-table-main");
    }
    //获取已选中列并取消选中
    var trs = tableDiv.find(".layui-unselect.layui-form-checkbox.layui-form-checked").parent().parent().parent();
      for(var i = 0;i<trs.length;i++){
       var ind = $(trs[i]).attr("data-index");
       if(ind!=index){
       var checkCell = tableDiv.find("tr[data-index=" + ind + "]").find("td div.laytable-cell-checkbox div.layui-form-checkbox I");
        if (checkCell.length>0) {
          checkCell.click();
        }
       }
      }
    //选中单击行
    var checkCell = tableDiv.find("tr[data-index=" + index + "]").find("td div.laytable-cell-checkbox div.layui-form-checkbox I");
    if (checkCell.length > 0) {
      checkCell.click();
    }
    });
  $(document).on("click", "td div.laytable-cell-checkbox div.layui-form-checkbox", function (e) {
    e.stopPropagation();
  });
//点击选中(多选)
//单击行勾选checkbox事件
  $(document)
      .on(
          "click",
          ".layui-table-body table.layui-table tbody tr",
          function() {
            var obj = event ? event.target : event.srcElement;
            var tag = obj.tagName;
            var index = $(this).attr('data-index');
            var tableBox = $(this).parents(".layui-table-box");
            //存在固定列
            if (tableBox
                .find('.layui-table-fixed.layui-table-fixed-l').length > 0) {
              tableDiv = tableBox
                  .find('.layui-table-fixed.layui-table-fixed-l');
            } else {
              tableDiv = tableBox
                  .find('.layui-table-body.layui-table-main');
            }
            var checkCell = tableDiv
                .find('tr[data-index=' + index + ']')
                .find(
                    "td div.laytable-cell-checkbox div.layui-form-checkbox I");
            if (checkCell.length > 0) {
              checkCell.click();
            }
          });
  $(document).on("click",
      "td div.laytable-cell-checkbox div.layui-form-checkbox",
      function(e) {
        e.stopPropagation();
      })

以上即为 layui 数据表格实现复选框单选的完整示例,希望对大家有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章