layui 动态渲染数据表格中下拉框的选项值

37 篇文章 0 订阅
18 篇文章 0 订阅

思路:根据layui数据表格中 templet属性中的LAY_INDEX字段动态生成下拉框的class,在渲染表格的时候发送请求,根据select.class操纵dom将接口返回数据填充到select下拉框中。

数据表格:

 var n = {
     title: '变更后处室', field: 'useDepartIdAfter',width: 200,
     templet: function (d) {
          var layIndex = d.LAY_INDEX; //当前表格行数
          if(d.useDepartIdBefore) {
              //根据变更前处室调用函数,获取变更后处室下拉框数据
              layui.getUseDepartIdBeforeOption(d.useDepartIdBefore, '.lay_' + layIndex);
          }
          return '<div class="layui-form"><a lay-event="useDepartIdAfter"></a><select name="useDepartIdAfter" lay-search  lay-filter="useDepartIdAfter" class = "lay_' + layIndex + '"><option value="">请选择</option>'+ '</select></div>';
      }
  };

发送请求的请求函数:

 // 暴露layui注册事件内部方法
 layui.define(['layer', 'table', 'form'], function (exports) {
     var table = layui.table, form = layui.form;
     exports('getUseDepartIdBeforeOption', function (useDepartIdBefore, selectClassName) {//函数参数
         callAPIOptions("/newdepart.do?getDepartsBySameDepartments", 'departId='+useDepartIdBefore, function(data1) {
             var useDepartOptions = '';
             for(var x = 0; x < data1.length; x++) {
                 useDepartOptions += '<option value = "' + data1[x].id + '">' + data1[x].departname + '</option>'
             }
             $(selectClassName).html(useDepartOptions);
             form.render(); //layui中填充完数据后必须调用此方法渲染下表单,且数据表格中的下拉框必须包含在"class = layui-form" 的div中
         });
     });
 });
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Layui是一种基于layui框架的前端UI库,可以方便地在网页创建动态表格下拉框等组件。 使用Layui动态表格带搜索的下拉框,首先需要引入LayUI的相关文件,如layui.css、layui.js等。然后,在HTML定义一个表格容器,可以使用div标签,并给它一个id,方便后续的操作。 接下来,在JavaScript通过Layui的table模块进行表格的初始化和渲染。我们可以使用table.render()方法,传入一些参数来定义表格的样式、列属性以及数据源等。在其的cols配置项,我们可以定义表格的列,包括列头名称、字段名、宽度等信息。此时,我们可以在列的属性增加一个toolbar属性,来定义表格的工具栏。 其的toolbar可以是一个函数,用于渲染每一行的工具栏内容。我们可以在这个函数创建一个下拉框,通过Layui的form模块进行渲染和监听。我们可以使用form.on()方法来监听下拉框的选事件,并在监听函数处理相应的逻辑。 在表格,我们可以使用formSelects组件,它是一个基于Layui的多选、搜索等功能的下拉框插件。我们可以通过定义一个元素的class为select,然后使用formSelects.render()方法来渲染下拉框。可以定义一些参数,例如最多可选的数量、搜索框的位置等。 总结来说,要使用Layui动态表格带搜索的下拉框,我们需要引入Layui的相关文件,然后在HTML定义表格容器,并在JavaScript使用Layui的table模块进行表格的初始化和渲染。在列属性,我们可以添加一个toolbar属性来定义行的工具栏。可以使用form.on()方法监听下拉框的选事件,并在监听函数处理逻辑。同时,也可以使用formSelects组件来实现多选、搜索等功能的下拉框。通过这些步骤,我们可以方便地实现Layui动态表格带搜索的下拉框的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值