热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据表:获取隐藏的td元素并强制更新stateSave

我的数据表项目存在多个问题。这是代码:HTML:<tableid"dt">&l

我的数据表项目存在多个问题。这是代码:

HTML:














IndexSome headline
1Some information

Javascript:

const table = $('#dt').DataTable({
'columnDefs': [
{'targets': [0],'visible': false}
],stateSave: true,stateDuration: 0
});
$(document).on('click','#dt tbody tr',function () {
let td = table.row(this).data()[0];
//get data-href attribute???
});

这是我的问题

第一,每当我单击一行时,我都想打开前中提供的链接。对于这种情况,我尝试使用table.row(this).data()[0](请注意,此是隐藏的!),但这只是返回文本(在这种情况下,数字/索引为1)。

如何访问 hidden 元素并检索data-href属性?


第二个问题:我正在使用stateSave选项,并将其保存到localStorage (stateDuration:0)。现在我注意到,每当我对表进行更改时(例如,隐藏/取消隐藏列)。更改实际上永远不会发生,因为它会将表信息从localStorage中提取出来。

如何在每次进行更改时强制更新表架构?使用stateSave时是否可以忽略表列(可见:true / false)?

第二个问题的解决方案:

const table = $('#dt').DataTable({
'columnDefs': [
{'targets': [0],stateDuration: 0,stateSaveParams: function (settings,data) {
data.columns.forEach(function (column) {
delete column.visible; //exclude what you dont want
});
}
});


也请仅回答一个问题。我真的在这个问题上苦苦挣扎,没有任何可能的解决方案。谢谢


隐藏的列已从dom中删除。您可以将void foo(int **arr)
值作为属性添加到href节点本身,或通过API进行访问:

您可以将$(document).on('click','#dt tbody tr',function () {
const href = table.cell({ row: 0,column: 0,order: 'original' }).node().getAttribute('data-href')
console.log(href) //will always output http://localhost/linkforid/1
})
添加到to$()并将nodes()节点作为jQuery实例。顺便说一句,

会更快,因为代码不必每次都从第一个节点开始穿过dom。

,

第一个问题,请尝试使用它代替访问行数据的子数组。

library(dplyr)
df1 %>%
mutate(DateTime = as.POSIXct(DateTime),diffTime = replace(DateTime,DataType != "Depth",NA)) %>%
arrange(ID,DateTime) %>%
group_by(ID) %>%
tidyr::fill(diffTime) %>%
mutate(diffTime = difftime(DateTime,diffTime,units = "secs")) %>%
slice({i1 <- which(DataType == 'Activity' & diffTime <180);c(i1-1,i1)}) %>%
select(-diffTime)
# ID DateTime DataType Value
#
#1 1 2017-05-08 10:19:31 Depth 24
#2 1 2017-05-08 10:21:32 Activity 1.1
#3 2 2017-05-08 10:21:27 Depth 20
#4 2 2017-05-08 10:23:48 Activity 0.4
#5 3 2017-05-08 10:13:23 Depth 17
#6 3 2017-05-08 10:16:07 Activity 1.35

第二个问题,在DataTable上使用let td = $(this).children("td:nth-child(1)").data("href");
stateSaveCallback选项。

stateLoadCallback

我还没有尝试过。但是,希望它能起作用!


推荐阅读
author-avatar
书友58684991
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有