【问题标题】:Show and hide column in a table using drop down使用下拉菜单显示和隐藏表格中的列
【发布时间】:2017-07-17 00:46:43
【问题描述】:

我有一张桌子,看起来和这张一模一样:https://www.datatables.net/examples/api/show_hide.html

我现在想用下拉列表替换标题(th things)。由于这些下拉菜单,我想隐藏和显示列(他们可以点击并显示他们想要的内容)。

我还想知道是否可以默认保留一些列。 这一切都可能吗?

【问题讨论】:

  • 嗨 Manon,您可能需要添加一些您尝试过的事情的示例才能获得任何帮助。 (有一些公式可以在 Stack 上提问)您可以随时更新您的问题。欢迎来到栈溢出,推荐阅读:stackoverflow.com/help/how-to-ask
  • 如果您从下拉列表中隐藏列,您会如何建议从隐藏的下拉列表中显示列?
  • @ManonKalfon 您使用的是什么版本的数据表?

标签: javascript jquery html drop-down-menu


【解决方案1】:

这绝对是可能的,但你开始开发什么了吗?您有任何代码供我们使用吗?如果没有,我可以为您指出几个很好的资源来帮助您入门。

首先,这里是如何向列添加选择菜单:

<th>Date
    <select id="filter_dt" class="headerFilter">
        <option value="show">Show</option>
        <option value="hide">Hide</option>
    </select>
</th>

以上代码将为列提供一个下拉菜单。

您可以通过执行以下操作来显示/隐藏列(来自DOCs):

$('.headerFilter').on('click', function(e) {
    e.preventDefault();

    // Get the column API object
    var column = table.column($(this).attr('data-column'));

    // Toggle the visibility
    column.visible(! column.visible());
});

就默认列而言,它取决于您如何呈现表中的数据,但您应该能够通过简单地执行以下操作来完成此操作(直接来自DOCs):

$('#example').DataTable( {
    ajax: "../php/staff.php",
    columns: [
        { data: "first_name" },
        { data: "last_name" },
        { data: "position" },
        { data: "office" },
        { data: "start_date" },
        { data: "salary", render: $.fn.dataTable.render.number( ',', '.', 0, '$' ) },
        {
            data: null,
            defaultContent: '<a href="#" class="remove">Delete</a>',
            orderable: false
        },
    ]
});

&lt;a href="#" class="remove"&gt;Delete&lt;/a&gt; 值中指定的最后一列。

【讨论】:

  • 我已经设法做到了“隐藏和显示”,但是你已经写好了名字,然后你点击它让它消失,我希望同样的事情与下拉菜单一起工作,它这可能吗?
  • 是的,有可能:Column Visibility
  • 没问题,很高兴为您提供帮助!
猜你喜欢
  • 2012-12-17
  • 1970-01-01
  • 1970-01-01
  • 2013-07-02
  • 2017-12-16
  • 1970-01-01
  • 1970-01-01
  • 2010-12-07
  • 1970-01-01
相关资源
最近更新 更多