我使用dataTables jquery。我想将排序图像添加到列中,并且图像shd也会在排序时更改。也就是说,如果图像显示降序图标,则单击它时应更改为升序图标。如何使用dataTables jquery完成它?
我的代码:
$("#rates").dataTable({
"bPaginate": false,
"sScrollY": "250px",
"bAutoWidth": false,
"bScrollCollapse": true,
"fnInitComplete": function() {
this.css("visibility", "visible");},
"bLengthChange": false
});
答案 0 :(得分:6)
$(document).ready(function() {
$("#tblVal").dataTable({
"bPaginate": false,
"sScrollY": "250px",
"bAutoWidth": false,
"bScrollCollapse": true,
"fnInitComplete": function() {
this.css("visibility", "visible");
},
"bLengthChange": false
});
});
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>new document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
<link href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css" rel="stylesheet" />
</head>
<body>
<div id="foo">
<table id="tblVal" class="data display datatable">
<thead>
<tr>
<th>s.no</th>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>100</td>
<td>vsa</td>
</tr>
<tr>
<td>2</td>
<td>101</td>
<td>asa</td>
</tr>
<tr>
<td>3</td>
<td>102</td>
<td>nfsa</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
确保您添加了正确的js和css文件。试试这个代码它对我有用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css">
<script type="text/javascript">
$(document).ready(function(){
$("#tblVal").dataTable({
"bPaginate": false,
"sScrollY": "250px",
"bAutoWidth": false,
"bScrollCollapse": true,
"fnInitComplete": function() {
this.css("visibility", "visible");},
"bLengthChange": false
});
});
</script>
</head>
<body>
<div id="foo">
<table id="tblVal" class="data display datatable">
<thead>
<tr>
<th>s.no</th>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>100</td>
<td>vsa</td>
</tr>
<tr>
<td>2</td>
<td>101</td>
<td>asa</td>
</tr>
<tr>
<td>3</td>
<td>102</td>
<td>nfsa</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
答案 1 :(得分:3)
在项目中包含images文件夹后,调整CSS中的链接以指向图像。在CSS中查找以下代码:
table.dataTable thead .sorting {
background-image: url("../images/sort_both.png");
}
答案 2 :(得分:0)
默认情况下,数据表启用排序。 您无法更改数据表中排序图标的颜色,因为它们是不是图标,它们是 PNG图片。 您需要覆盖这些CSS属性。 (数据表1.10)
table.dataTable thead .sorting_asc {
background-image: url("/YourImageFolder/sort_asc.png")
}
table.dataTable thead .sorting_desc {
background-image: url("/YourImageFolder/sort_desc.png")
}
table.dataTable thead .sorting {
background-image: url("/YourImageFolder/sort_both.png")
}
table.dataTable thead .sorting_asc_disabled {
background-image: url("/YourImageFolder/sort_asc_disabled.png")
}
table.dataTable thead .sorting_desc_disabled {
background-image: url("/YourImageFolder/sort_desc_disabled.png")
}