使用下拉菜单显示和隐藏 table 中的列
Show and hide column in a table using drop down
我有一个 table,看起来和这个一模一样:https://www.datatables.net/examples/api/show_hide.html
我现在想用下拉菜单替换 headers(th things)。由于这些下拉菜单,我想隐藏和显示列(他们可以单击并显示他们想要的内容)。
我也想知道是否可以默认保留一些列。
这一切都可能吗?
这绝对是可能的,但是你开始开发什么了吗?您有任何代码供我们使用吗?如果没有,我可以为您指出几个很好的资源来帮助您入门。
首先,这里是如何将 select 菜单添加到列:
<th>Date
<select id="filter_dt" class="headerFilter">
<option value="show">Show</option>
<option value="hide">Hide</option>
</select>
</th>
以上代码将为列提供下拉菜单。
您可以通过执行以下操作(来自 DOCs)获得 show/hide 列:
$('.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());
});
就默认列而言,它取决于您在 table 中呈现数据的方式,但您应该能够通过简单地执行以下操作(直接从 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
},
]
});
<a href="#" class="remove">Delete</a>
值中指定的最后一列。
我有一个 table,看起来和这个一模一样:https://www.datatables.net/examples/api/show_hide.html
我现在想用下拉菜单替换 headers(th things)。由于这些下拉菜单,我想隐藏和显示列(他们可以单击并显示他们想要的内容)。
我也想知道是否可以默认保留一些列。 这一切都可能吗?
这绝对是可能的,但是你开始开发什么了吗?您有任何代码供我们使用吗?如果没有,我可以为您指出几个很好的资源来帮助您入门。
首先,这里是如何将 select 菜单添加到列:
<th>Date
<select id="filter_dt" class="headerFilter">
<option value="show">Show</option>
<option value="hide">Hide</option>
</select>
</th>
以上代码将为列提供下拉菜单。
您可以通过执行以下操作(来自 DOCs)获得 show/hide 列:
$('.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());
});
就默认列而言,它取决于您在 table 中呈现数据的方式,但您应该能够通过简单地执行以下操作(直接从 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
},
]
});
<a href="#" class="remove">Delete</a>
值中指定的最后一列。