在讲解之前先来了解下Layui表格的简单介绍:
table数据表格文档--layui.table:
table 模块是Layui的又一走心之作,在 layui 2.0 的版本中全新推出,是 layui 最核心的组成之一。它用于对表格进行一些列功能和动态化数据操作,涵盖了日常业务所涉及的几乎全部需求。支持固定表头、固定行、固定列左/列右,支持拖拽改变列宽度,支持排序,支持多级表头,支持单元格的自定义模板,支持对表格重载(比如搜索、条件筛选等),支持复选框,支持分页,支持单元格编辑等等一些列功能。尽管如此,我们仍将对其进行完善,在控制代码量和性能的前提下,不定期增加更多人性化功能。table 模块也将是 layui 重点维护的项目之一。
在绑定表格数据时要注意几个重要的部分:(主要有三点)
- HTML定义的值和要符合规范;
通常容易犯错的有Bool类型的value值,举个实例演示下:
<div class="layui-form">
<div class="layui-input">
<input type="radio" name="Valid" value="有效:" title="有效:" checked="" disabled id="Valid">
<input type="radio" name="Valid" value="失效:" title="失效:" disabled id="NoValid">
</div>
</div>
可以看到我给的value值分别是有效:和失效: 那么当我们新增一条数据的时候会出现什么问题呢?
- 可以看到的是有效那一类的数据没有显示出来,其实原因很简单,我value中的值设置的是字符串,但我表格里想要的是bool的true和false,所以解决方法也就很明显了,只要把value里的值分别改为true和false就可以解决了。
(2)接着演示下value取值错误还会出现哪些错误:
可以看到Valid:null,
所以它也会对监听行单击事件造成错误。
(3)那么既然表格都获取不到值,数据库能不能取到值呢?
答案也是很明显的,当然是不能, 第40行数据的最后一列Valid为NULL,
所以总结出各类型的值获取是不同的,不能粗心大意,不然就会对你在完成后面的功能时造成很大的困扰。
- 数据表格的设计要与HTml相符合;
至于设计这方面就不用多说了,一般按照Layui文档内介绍的方法去做就可以了。
主要要注意表名和定义的一不一致、表格内地filed和HTML设计的相不相同,注意需不需要隐藏修改和隐藏需要用到的Id,基本上就是一些定义值和获取值相不相同的地方。
- 在新增、修改和删除时注意获取页面数据的正确方法;
在获取数据的时候,也是要注意bool类型的获取方法:
var Valid = $("#formInsertUser [name='Valid']:checked").val();//有效
以上这条数据就是正确的获取Bool类型的正确方法,
一般为了加快开发速度,我们会粘贴之前项目的一些相对来说死的方法,然后就是改一下获取的值、form表单的Id和name属性就不管了,那么就会有这样一种错误引用:
var Valid = $("#formInsertUser [name='Valid']").val();//有效
也就是上面这条数据的情况。