layui table动态选中_看了这篇文章,让你的动态图表能力再上一个新的台阶

今天给大家介绍一种提升逼格的图表-动态图表。

在制作动态图表之前,先给大家介绍制作动态图表的基础--OFFSET函数,OFFSET函数包括以下5个参数。

05fceca35ccb47d10e19b18cc96fb952.png

参数1:referrence,基准位置,默认为鼠标所指的当前位置。

参数2:rows, 向下或向上移动的行数,数值大于1是向下移动。

参数3:cols,向右或向左移动的列数,数值大于1是向右移动。

参数4:引用区域的行数,默认值为1。

参数5:引用区域的列数,默认值为1。

下图为OFFSET函数的详细讲解图,可以看到从单元格B2(即基准点)移动之后到了单元格E7。

【小贴士】若参数4或参数5的值大于1,返回的是一个数组,这种时候一般需要跟其他函数或者图表一起使用。比如=SUM(OFFSET(B2,3,4,3)),否则会返回#VALUE。

cc4177776c7222c895ab61385e6c7e1f.png

好啦,接下来就进入今天的动态图表制作的主题了~

首先需要明白一点:动态图表之所以会随着单元格的变化,值相应的改变,根本原因就是下拉框内容变动,导致图表引用值跟着一起变动。

下面以一个实例讲解,假设我们需要比较江苏和浙江不同金额段的效率情况,数据如下:

3c7738aa8b4178ee7d208a454e8e42a6.png

那怎么通过动态图表来实现江苏、浙江,不同额度段的比较嘞?

Step1:制作下拉菜单

Step1:制作下拉菜单。下拉菜单的目的主要是生成一个索引值。

首先,将需要做对比的变量转置成列,选中单元格区域B1:K1,复制,鼠标选中单元格A8,右击,在弹出的对话框中的粘贴选项中选择转置,如下:

bafa9ab98a402d49aa2426c6c226cb2f.png

在菜单栏中选择开发工具-插入-选择组合框, 然后点击单元格,拉出一个组合框。

8cdde9b26fde3987565fd3a7c4e280e6.png

选中组合框,右击,在弹出的对话列表中选择设置控件格式数据源区域选择单元格$A$8:$A$17,单元格链接指定一个,这里指定单元格$B$8。

【小贴士】单元格链接的作用在稍后的OFFSET函数中会引用到,也就是索引值

ab785fb82ec3f2fe95a808f5bfa0b28c.png

Step1的演示视频如下:

977d6eddbc669322e1d88a860654cf12.gif

可能很多童鞋找不到菜单栏中的开发工具,可以选中文件-选项-选择自定义功能区,在开发工具前面打勾。

开发工具添加的操作视频如下:

e6b9de57bda9fba6a9364a17dc82c1f2.gif

Step2:运用名称管理器创建OFFSET函数

Step2:运用名称管理器创建OFFSET函数,名称管理器的作用是引用Step1中的下拉框的对应的索引值,即单元格链接

选中菜单栏中的公式-名称管理器,在弹出的对话框中新建名称。在名称对应的位置输入"浙江",引用位置输入=OFFSET(Sheet1!$A$1,1,Sheet1!$B$8,2,1)

【小贴士】OFFSET(Sheet1!$A$1,1,Sheet1!$B$8,2,1)公式的意思是:选择的基准位置是A1,向下移动1格是A2,接着向右移动Sheet1!$B$8,假设下拉框选择是人均时长,Sheet1!$B$8对应的值为1,所以引用的位置就到了B2,第四和第五个参数的意思其实就是指的单元格B2:B3区域。

2219408ec0d6f38bc48e5345adcf648c.png

运用相同的方式再创建"江苏"的公式名称管理器。

公式=OFFSET(Sheet1!$A$1,3,Sheet1!$B$8,2,1)。

Step2的演示视频如下:

d02316058dfd4b21a24a26f2f12df206.gif

Step3:插入图表

Step3:插入图表。会运用到Step2的名称管理器,达到下拉框变动,图表随之变动的动态效果。

选中数据区域,点击菜单栏-插入-选择柱状图

469fcabcfa91d8a3e3d00f93aa90ea5c.png

选中图表,右击选择数据,弹出对话框。

9cf4cb167c78cedacffa8a29a2886e67.png

在弹出的选择数据源对话框中,选择图例项(系列)中的"浙江大额",点击编辑。

c7193d7407987ade73a397c904c45748.png

在弹出的编辑数据系列这栏 的系列名称中输入="浙江",系列值=Sheet1!浙江

【小贴士】Sheet1!是引用的当前的工作表的名称,浙江则代表Step2中所创建的浙江的公式名称管理器的值。即OFFSET(Sheet1!$A$1,1,Sheet1!$B$8,2,1)

b5b0a79352636e31ebb037b62cb63217.png

运用相同的方法再创建"江苏"的图例项。并把第三和第四个多余的图例项删掉,则左边的图例项的操作就完成啦~

b55ac6353541838713e80337bea25c8c.png

接着我们来操作右边水平轴标签的内容,点击编辑,在弹出的对话框中输入={"大额","中额"},并点击确定。

96b1f39b809a4d48171658946838ee90.png

好啦,现在动态图表的核心内容就完成啦~~

让我们跟着Step3的演示视频看下具体的效果:

d08a20ff3f60b803e4a4491f4af7b466.gif

Step4:美化图表

美化图表就见仁见智了,这边就不展开介绍了,目前的版本效果如下。

d4b9d4a01f1efd6c1a4a84a5562e540d.png

觉得有所收获的童鞋,可以扫描下方的二维码关注我的微信公众号~

微信公众号:数据大作手

dc11ccf558c8924ba27bdfb0471c2bc4.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现行点击选中复选框的效果,可以通过以下步骤来实现: 1. 在表头中添加一个全选的复选框,并为其设置一个ID。 2. 在每一行的第一列中添加一个复选框,并为其设置一个class,例如“check-box”。 3. 给表格绑定一个点击事件,在点击事件中判断点击的元素是否为复选框或者全选的复选框,如果是,则执行对应的操作。 4. 当点击某一行时,获取该行的复选框元素,并设置其选中状态为true。 下面是一个示例代码: ```html <table class="layui-table" id="myTable"> <thead> <tr> <th><input type="checkbox" name="" lay-skin="primary" id="checkAll"></th> <th>列1</th> <th>列2</th> <th>列3</th> </tr> </thead> <tbody> <tr class="tr_layui"> <td><input type="checkbox" name="" lay-skin="primary" class="check-box"></td> <td>行1列1</td> <td>行1列2</td> <td>行1列3</td> </tr> <tr class="tr_layui"> <td><input type="checkbox" name="" lay-skin="primary" class="check-box"></td> <td>行2列1</td> <td>行2列2</td> <td>行2列3</td> </tr> </tbody> </table> <script> // 全选复选框的点击事件 $('#checkAll').on('click', function() { if ($(this).is(':checked')) { $('.check-box').prop('checked', true); } else { $('.check-box').prop('checked', false); } }); // 行点击事件 $('.tr_layui').on('click', function() { // 判断是否为复选框或者全选复选框 if ($(event.target).is(':checkbox')) { return; } // 获取该行的复选框元素 var checkBox = $(this).find('.check-box'); // 判断该复选框是否已选中 if (checkBox.is(':checked')) { checkBox.prop('checked', false); } else { checkBox.prop('checked', true); } }); </script> ``` 在这段代码中,我们首先给表头添加一个ID为“checkAll”的全选复选框,然后在每一行的第一列中添加class为“check-box”的复选框。接着,我们给全选复选框和每行绑定点击事件,在事件中判断点击的元素是否为复选框或者全选复选框,然后执行对应的操作。当点击某一行时,我们获取该行的复选框元素,并设置其选中状态。这样,就可以实现行点击选中复选框的效果了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值