• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    Layui表格选中指定行的radio单选框并滚动到该行的实现代码

    发布者: 怀卉 | 发布时间: 2025-8-13 07:57| 查看数: 67| 评论数: 0|帖子模式

    layui table有多行数据,通过外部输入内容,需要定位到指定行,选中改行,对改行进行操作。
    实现效果:

    HTML代码:
    1. <body>
    2.       <div class="layui-fluid">
    3.          <input type="text" id="txt_id" />
    4.           <table class="layui-hide" id="test" lay-filter="test"></table>
    5.           <script type="text/html" id="toolbarDemo">
    6.               <div class="layui-btn-container">
    7.                   <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
    8.                  <button class="layui-btn layui-btn-sm" lay-event="SetChecked">设置选中行</button>
    9.              </div>
    10.          </script>
    11.   
    12.      </div>
    13.      <script src="lib/jquery-1.9.1.min.js"></script>
    14.      <script src="layui/layui.all.js"></script>
    15.      <script src="lib/AjaxCommon.js"></script>
    16.      <script>
    17.          layui.use('table', function () {
    18.              var table = layui.table; 19 20 ajaxSend(false, 'http://data.app.local/api/test/hello', '', function (res) { 21 if (res != '') { 22  console.log(res) 23  table.render({ 24 elem: '#test' 25 , height: 'full-50' 26  , limit: Number.MAX_VALUE 27  , data: res.data 28 , toolbar: '#toolbarDemo' 29  , cols: [[ 30 { type: 'radio' } 31 , { field: 'Id', width: '50%', title: 'ID', sort: true } 32 , { field: 'Name', width: '50%', title: 'Name', sort: true } 33  ]] 34 , page: false 35  }); 36  } 37 },'get'); 38 39 //头工具栏事件 40 table.on('toolbar(test)', function (obj) { 41 var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态 42 switch (obj.event) { 43 case 'getCheckData'://获取选中行数据 44 var data = checkStatus.data; 45  layer.alert(JSON.stringify(data)); 46 break; 47 case 'SetChecked'://设置指定行 48 var id = $("#txt_id").val(); 49 var tabledata = table.cache["test"]; //获取现有数据 50  console.log(tabledata) 51 var index = 0; 52 for (var i = 0; i < tabledata.length; i++) { 53 if (tabledata[i].Id == id) { 54 tabledata[i].LAY_CHECKED = true; 55 index = i; 56  } 57 else { 58 tabledata[i].LAY_CHECKED = false; 59  } 60  } 61 table.reload("test", { 62  data: tabledata, 63  }) 64 //滚动到指定行 65 var cellHtml = $(".layui-table-main").find("tr[data-index=" + index + "]"); 66 var cellTop = cellHtml.offset().top; 67 $(".layui-table-main").scrollTop(cellTop - 160); 68 break; 69  }; 70  }); 71  }); 72 </script> 73 </body>
    复制代码
    后台代码:
    1. public class LayUITableEntity
    2.   {
    3.    public string code
    4.   {
    5.   get;
    6.   set;
    7.   }
    8.   public string msg
    9.   {
    10.   get;
    11.   set;
    12.   }
    13.    public string count
    14.    {
    15.    get;
    16.    set;
    17.    }
    18.     public object data
    19.     {
    20.     get;
    21.     set;
    22.     }
    23.     }
    24.     public class TestEntity
    25.     {
    26.    /// <summary>
    27.   /// 这个字段用来标识radio是否选中
    28.   /// </summary>
    29.    public bool LAY_CHECKED
    30.     {
    31.     get; set;
    32.     }
    33.     = false;
    34.     public string Id
    35.     {
    36.     get;
    37.     set;
    38.     }
    39.     public string Name
    40.     {
    41.     get; set;
    42.     }
    43.     }
    44.     [Route("/api/test")]
    45.     public class TestController : ServiceController
    46.     {
    47.     [RouteHttpGet("hello")]
    48.     public FormiumResponse HelloNanUI(FormiumRequest request)
    49.     {
    50.      List<TestEntity> teList = new List<TestEntity>();
    51.      for (int i = 1; i <= 30; i++)
    52.     {
    53.    TestEntity te = new TestEntity()
    54.     {
    55.      //初次载入,id为3的选中
    56.      LAY_CHECKED = i == 3 ? true : false,
    57.      Id = i.ToString(),
    58.      Name = "name" + i.ToString() 32
    59.     };
    60.     teList.Add(te);
    61.     }
    62. LayUITableEntity layUITableEntity = new LayUITableEntity()
    63.     {
    64.     code = "0",
    65.     count = teList.Count().ToString(),
    66.     msg = "",
    67.     data = teList
    68.     };
    69.     return Json(layUITableEntity);
    70.     }
    71.     }
    复制代码
    到此这篇关于Layui表格选中指定行的radio单选框并滚动到该行的实现代码的文章就介绍到这了,更多相关Layui表格选中radio单选框滚动内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表