操作dom获取datatable中的某一行的某一列的数据
需求描述:编辑的时候,点击的那一行,进入后台的验证方法,验证通过后,再进入编辑页面,进入的时候需要把本行<tr>数据中的某一列<td>的值传递过去
思路表述:之前我想的是,给列表每一个tr里都放如一个input隐藏域,值就是需要传递的,后台直接通过 $("# id").val( )获取,后来想想,虽然这么做也可以但是违背了规范“尽量减少标签”,于是就想对datatable做直接的操作,获取数据。
代码:
//html代码
<table id=table1>
<tr th:each="pac : ${list}" th:id="${pac.pacId}"
th:attr="data-pac-name=${pac.pacName},data-pac-code=${pac.pacCode}"
class="trs">
//id是行id 也是该行数据的uuid th:onclick="|editById('${pac.pacId}')|"
// th:attr="data-pac-name=${pac.pacName},data-pac-code=${pac.pacCode}"把需要的数据放到<tr>中 js中可以通过 .data('属性名')获取到这个值
<td th:text="${pac.pacName}">名称</td>
<td th:text="${pac.pacCode}">编码</td>
</tr>
</table> //js代码
<script type="text/javascript" th:inline="javascript" xmlns:th="http://www.w3.org/1999/xhtml">
function check(id){
//获取table1的datatable对应行id的节点
var nodes = $('#table1').DataTable().row('#' + id).nodes();
var pacName= $(nodes[0]).data('pacName');
var pacCode= $(nodes[0]).data('pacCode');
// nodes[0]表示当前行 和list.get(0)作用类似 data()方法来取值
// data('pacCode')中的pacCode是和th:attr="data-pac-code=${pac.pacCode}"的 data-pac-code对应,H5新特性,取值的时候会自动还原为data-pacCode,表示data下的属性pacCode
}
/*pacName和pacCode拼到进入后台方法的url中 该部分代码省略*/
</script>
总结:操作dom真的可以帮助我们节省很多资源,不过在调试的时候,只有获取到前一个对象节点的时候,后边才能取到值,调试挺废时间的。datatable操作dom还有很多零碎的知识点,但是在开发中会经常用到,仍需不断地总结。
操作dom获取datatable中的某一行的某一列的数据的更多相关文章
- 【转载】C#如何获取DataTable中某列的数据类型
在C#的数据表格DataTable的操作中,有时候因为业务需要,我们需要获取到DataTable所有列或者某一列的数据类型,此时我们可以通过DataTable中的Columns属性对象的DataTyp ...
- 【转载】C#手动往DataTable中末尾新增一行数据
在C#中的Datatable数据变量的操作过程中,需要手动往DataTable变量的末尾新增一行数据,例如一个实际的例子,我们做数据报表,在最后一行可能需要新增一行DataRow数据作为一个汇总记录, ...
- NPOI操作Excel导入DataTable中
using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.Data; using System.IO; using NPOI.X ...
- 如何用python获取文件中的某一行——python小技巧
很多人有的时候只需要获取文章中的固定的一行,那么我知道这一行,我需要怎么样去获取呢 可能会有人说读取这一行,如果这一行是已什么开头的就读出来, 其实还有一种办法,就是我知道文件的路径.知道我要取的行数 ...
- 获取redis中所有的key,清空整个 Redis 服务器的数据
获取 redis 中所有的 key 可用使用 *. redis 127.0.0.1:6379> KEYS * Redis Flushall 命令用于清空整个 Redis 服务器的数据(删除所有数 ...
- 如何删除datatable中的一行数据
在C#中,如果要删除DataTable中的某一行,大约有以下几种办法: 1,使用DataTable.Rows.Remove(DataRow),或者DataTable.Rows.RemoveAt(ind ...
- 【转载】C#通过IndexOf方法获取某一列在DataTable中的索引位置
在C#中的Datatable数据变量的操作过程中,有时候需要知道某一个列名在DataTable中的索引位置信息,此时可以通过DataTable变量的Columns属性来获取到所有的列信息,然后通过Co ...
- jQuery权威指南(第2版) 学习一 jQuery操作DOM
jQuery操作DOM 获取元素的属性 attr(name) 获取元素属性的语法格式如下: attr(name) 其中,参数 name 表示属性的名称. 例子: <img alt="& ...
- C# 对DataTable中按条件进行筛选和更新。
当我们频繁的对数据库进行操作时,可能造成CPU使用率过高,这时我们可以先将数据表读取到DataTable,然后在必要的时候再更新到数据库中. 以下是DataTable中对数据的选择和更新操作.采用Da ...
随机推荐
- 4-24日 collections模块 random模块 time模块 sys模块 os模块
1, collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdi ...
- LOJ #6261 一个人的高三楼
生成函数和组合数学的灵活应用 LOJ #6261 题意:求一个数列的$ k$次前缀和 $ Solution:$ 我们对原数列$ a$建生成函数$ A=\sum\limits_{i=0}^{n-1} a ...
- C++ 类使用多线程技术
参考文章 : http://blog.csdn.net/jmh1996/article/details/72235232 成员函数作为线程函数, 要将成员函数定义为静态的 C++ 静态成员函数调用非 ...
- day 8 - 1 文件操作
文件操作 注意: 1. r+ 最为常用 2.encoding 的编码格式一定要与文件编码格式一致 读取 r rb #在本地创建 txt 格式的文件默认使用 gbk 格式 f = open('e:/p ...
- java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException or 程序包 javax.servlet 不存在
遇到下面这个问题 程序包 javax.servlet 不存在 或者 java.util.concurrent.ExecutionException: org.apache.catalina.Lifec ...
- jsp映射为其他地址上去 ???
在web.xml 里面配置servlet不起作用,所以配置jsp,然后在jsp里面跳转到servlet去 ??? 第八天中的<08-jsp常用标签.avi> 在web.xml里面先设 ...
- Django学习手册 - 权限管理(二)
从数据库获取数据后,对数据进行清洗 目标: 数据1,存放至session 中的数据 数据2,显示至前端的菜单数据 清洗数据: 1.session存放的数据:(menu_leaf_dict) 2.前端菜 ...
- MySql cmd下的学习笔记 —— 有关建立表的操作(有关于数据类型)
(01)建表的过程实际上是 声明字段 的过程 一. 列类型(字段): 存储同样的数据时,不同的列类型,所占据的空间和效率是不一样的,这就是建表时要考虑的意义. 二.MySQL三大列类型 数值型 ...
- Light oj 1018 - Brush (IV) 状态压缩
题目大意: 给出n个点的坐标,求至少画多少掉直线才能连接所有点. 题目思路:状态压缩 首先经行预处理,求出所有状态下,那些点不在该状态内 以任意两点为端点求出这条直线的状态 枚举所有状态,找出不在当前 ...
- Kivy折腾笔记
最近想用Python开发APP,选择kivy,记录过程 首先是源码安装,各种蛋疼的报错放弃了.cython高版本有问题. python3 -m pip install cython==0.23 pyt ...