数据表 - 排序图标重复
Posted
技术标签:
【中文标题】数据表 - 排序图标重复【英文标题】:datatables - sort icon duplicating 【发布时间】:2015-10-19 20:20:45 【问题描述】:我正在尝试为此处找到的数据表设置示例 -
http://www.datatables.net/examples/basic_init/zero_configuration.html
一切都很成功,但由于某种原因排序图标重复了,我不知道为什么。
这就是它的显示方式 -
这是我正在使用的 html -
% extends "dashboard/base.html" %
% load static %
% block extra_head %
<!-- Tribal CSS -->
<link href="% static "css/plugins/tribal/tribal-bootstrap.css" %" rel="stylesheet" />
<link href="% static "css/plugins/tribal/tribal-form.css" %" rel="stylesheet" />
<!-- Tribal JS -->
<script src="% static "js/plugins/tribal/tribal-form.js" %"></script>
<script src="% static "js/plugins/tribal/tribal-shared.js" %"></script>
<!-- DataTables CSS -->
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.7/css/jquery.dataTables.css">
<!-- DataTables -->
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function()
$('#files').DataTable();
);
</script>
% endblock %
% block title % user Dashboard% endblock %
% block content %
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Profile</h1>
</div>
<!-- /.col-lg-12 -->
</div>
<div class="container">
<div class="well">
<dl class="dl-horizontal dl-multicolumn" data-colcount="3">
<dt>Name</dt>
<dd> user </dd>
<dt>Gender</dt>
<dd>Male</dd>
<dt>School</dt>
<dd>Sheffield School</dd>
<dt>DOB</dt>
<dd>01/01/1986</dd>
<dt>Email</dt>
<dd> user </dd>
<dt>Address</dt>
<dd>
26 Main Road<br />
Sheffield<br />
S1 1AA</dd>
</dl>
</div>
</div>
<!-- /.row -->
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">File Access</h1>
</div>
<!-- /.col-lg-12 -->
</div>
<div class="panel panel-default">
<div class="panel-heading">
File & Vendor Listings
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover" id="files">
<thead>
<tr>
<th>Vendor</th>
<th>Filename</th>
<th>Invoke Date</th>
<th>Revoke Date</th>
<th>CSS grade</th>
</tr>
</thead>
<tbody>
<tr>
<td>Trident</td>
<td>Internet Explorer 4.0</td>
<td>Win 95+</td>
<td class="center">4</td>
<td class="center">X</td>
</tr>
我正在使用 django,所以 jquery 是从 base.html 扩展而来的 -
<!DOCTYPE html>
<html lang="en">
% load static %
% if user.is_authenticated %
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>% block title %datapi.io Company Dashboard% endblock %</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- MetisMenu CSS -->
<link href="% static "css/plugins/metisMenu/metisMenu.min.css" %" rel="stylesheet">
<!-- Custom CSS -->
<link href="% static "css/sb-admin-2.css" %" rel="stylesheet">
<!-- Custom Fonts -->
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- jQuery -->
<script src="//code.jquery.com/jquery-2.1.4.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<!-- Metis Menu Plugin JavaScript -->
<script src="% static "js/plugins/metisMenu/metisMenu.min.js" %"></script>
<!-- Custom Theme JavaScript -->
<script src="% static "js/sb-admin-2.js" %"></script>
% block extra_head %% endblock %
</head>
【问题讨论】:
看起来 DataTables CSS 和其他可能使用sorting_desc
和/或 sorting_asc
类的 CSS 文件之间存在冲突。使用浏览器的开发工具检查 CSS 规则并找到有问题的 CSS 文件。
非常感谢!是的,我发现我已修复 thnx 的 sb-admin2.css 存在问题。
这里的答案对我有用。 ***.com/questions/34773857/…
【参考方案1】:
SB Admin 主题包括用于 DataTables 的 Bootstrap 插件。
但是,您发布的代码包含默认的 DataTables CSS。在这种情况下,应该包括一个或另一个。
解决方案是将默认的DataTables CSS (//cdn.datatables.net/1.10.7/css/jquery.dataTables.css
) 替换为dataTables.bootstrap.css 并添加dataTables.bootstrap.min.js
如果您更喜欢使用默认的 DataTables CSS,那么您需要在行 232
-257
周围修复 sb-admin-2.css
并删除与 table.dataTable
相关的规则。
【讨论】:
链接已损坏 (404) :\【参考方案2】:这个解决方案由 Elfayer 解决。
渲染器: "header": "bootstrap" ,
【讨论】:
我应该用这条线做什么?请解释您提供的内容 如果表格在标题中显示重复图标,如页面顶部所示。编辑 js 以删除重复的图标。 datatables.net/reference/option/renderer $('#example').dataTable( renderer: "header": "bootstrap" );【参考方案3】:上述解决方案对我不起作用。我找到了这个对我有用的解决方案,
"initComplete": function(settings, json)
$('.dataTables_scrollBody thead tr').css(visibility:'collapse');
https://github.com/DataTables/Plugins/issues/159#issuecomment-333897227
【讨论】:
【参考方案4】:最后,几个小时后,我将jquery.dataTables.min.css
(包含在样式中)替换为dataTables.jqueryui.css
,从而解决了这个错误。
【讨论】:
以上是关于数据表 - 排序图标重复的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在 JQuery Datatable 的标题文本旁边显示排序图标?