【问题标题】:adding "data" options to items in datatables向数据表中的项目添加“数据”选项
【发布时间】:2014-03-03 20:31:46
【问题描述】:

您好,我是数据表和 javascript 的新手,我想知道是否有向数据表中的行和项目添加“数据”选项的方法。

我正在尝试使用 http://usablica.github.io/intro.js/ 对我的网站进行介绍性游览

为此,我需要向项目添加 data-info="" 和 data-step="" 选项。

例如,当您使用 intro.js 时,您可以添加具有“data-intro”和“data-step”选项的项目,例如:

<h1 data-intro='This is step one.' data-step='1'>The Changelog</h1>

由于数据表是所有 javascript 呈现的,因此无法将其添加到下图中的“显示/隐藏列”按钮和各个行中。这可以解决吗?

谢谢

这里是显示条目按钮

【问题讨论】:

  • “h1”与 DataTables 网格列表有什么关系?
  • 这只是一个示例,表明您需要 data-intro 和 data-step 选项
  • where 是“h1”,它与 DataTable 网格有什么关系? “变更日志”与网格中显示的任何数据有什么关系?
  • 它根本与数据表无关。这是从 intro.js 文档中获取的一个示例,主要是为了展示 intro.js 是如何工作的,您需要 data-step 和 data-intro 选项,我不知道如何将这两个选项添加到数据表项中跨度>
  • 如果它与数据表/问题相关,那么它是一个糟糕的例子,应该被替换,因为它只会影响真正的问题/问题)。 data-* 标签的术语是“数据属性”。 “h1”或数据属性与“显示/隐藏”列有什么关系? 数据属性应该在哪里(因为甚至没有“h1”)?

标签: javascript jquery datatables intro.js


【解决方案1】:

您可以使用数据表的fnRowCallback 选项在创建表后向表中的行添加自定义属性 (see the docs)。

$('#mytable').dataTable({
    // Set data for the table here
    // ...

    // Add data attributes for intro.js
    'fnRowCallback': function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
        if (aData[1] === 'Firefox 2') {
            $('td:eq(1)', nRow)
                .attr('data-intro', 'This column shows the browser type.')
                .attr('data-step', '1');
        }
    },

    // Add data attributes for sections, that do not belong to the table itself
    'fnInitComplete': function(oSettings, json) {
        // The number of elements selector seems to have the id of the table + '_length'
        $('#example_length')
            .attr('data-intro', 'Select the number of entries to show.')
            .attr('data-step', '1');
    }
});

http://jsfiddle.net/2f2L6/1/

【讨论】:

  • 非常感谢!这太棒了!!你会碰巧知道如何将它们添加到“显示''实体”按钮吗?我知道这与 fnHeaderCallback 有关,但我对 jquery 还是很陌生,不太了解如何找到 $(document).ready(function() { $('#example') 的“显示实体”标签。数据表({“fnHeaderCallback”:函数(nHead,aData,iStart,iEnd,aiDisplay){nHead.getElementsByTagName('th')[0].innerHTML =“显示“+(iEnd-iStart)+”记录“;}} ); } )
  • “Shoe Entities”按钮到​​底是什么,你想用它做什么?如果您想用它开始intro.js,请参阅链接的 JSFiddle 中的“开始介绍”按钮。这只是一个点击事件。如果您指的是表格的另一部分,请查看full reference of datatables。创建后,您几乎可以自定义任何元素。
  • 显示 10 个条目按钮是在我最近的编辑中发布的表格顶部的按钮。谢谢!
  • 好的,知道了。 fnHeaderCallback 在这里似乎不是正确的回调。我认为它适用于表格标题行。但是fnInitComplete 回调确实有效。我更新了答案(和小提琴)。
  • 非常感谢!!如果我能给你 100 票,我会哈哈
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多