如何从DataTables获取自定义存储的HTML5数据 - *属性值

时间:2017-09-10 00:46:01

标签: c# jquery asp.net-mvc datatables

注意:我接受Stephen Muecke作为这个问题的答案。

我正在使用DataTables(datatables.net)来创建项目列表的表格。

该表格在单元格内有自定义存储的HTML5数据。

DataTable Row

如何获取存储在

中的值

数据-ID 数据描述

等等。

它自己的表只显示标题,就是它。

enter image description here

其他数据是“隐藏的”,需要将其传递到同一页面上的其他某些字段。

更像是表“更多”细节功能。

enter image description here

目标是让用户点击“标题”,jQuery提取HTML5数据并使用它来填充用户点击的表下方的字段。

用户还可以选择编辑数据并将其保存回数据库。

这是我到目前为止尝试使用的但没有运气。

 <script> $(document).ready(function () { $('#SaveSearches').DataTable(); });

 </script>


$('#SaveSearches tbody').on('click', 'td', '.savedSearch', function ()
{
    alert(table.cell(this).data());

    table.$(this).data('Id');


    alert(table.$(this).data('Id'));
});

上面的代码只是试图从HTML5数据中获取值。

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

您的选择器正在处理任何.click()元素的<td>事件(请注意on()的第3个参数(在您的情况下为'.savedSearch'

  

触发事件时要在event.data中传递给处理程序的数据。

参考documentation

此外,data属性的名称区分大小写,因此您的代码应为

$('#SaveSearches tbody').on('click', '.savedSearch', function() {
    // get the value of the data-id attribute
    var id = $(this).data('id');
    ....
})

另请注意,您的属性应全部为小写(请参阅are html5 data attributes case insensitive?以及与标准相关的链接)