[英]Adding Up and Down Arrows according to Order Type
我正在通过ajax和PHP从数据库中获取数据,返回的数据显示为表格,我创建了一个对表格列的升序或降序进行排序的函数,我想在列名旁边添加箭头以在ascending order
情况下显示&如果descending order
,该怎么办?
HTML代码
<head>
<link rel="stylesheet" href="../lib/css/bootstrap.min.css" type="text/css"/>
<script src="https://use.fontawesome.com/d7a6f6be38.js"></script>
<script type="text/javascript" src="../lib/js/jquery-3.1.1.min.js"></script>
<link href="//cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css" rel="stylesheet"/>
<script src="//cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
</head>
<div class="row">
<div id="OrderTable"></div>
</div>
PHP页面searchorders.php
<?php
$output.='<hr />
<table id="SearchResults" class="table table-striped table-bordered" style="width:auto;">
<thead>
<tr>
<th>Order No.</th>
<th>Customer Name</th>
<th>Order Date</th>
<th>Category Name</th>
<th>Category Type</th>
<th>Quantity in Kilos</th>
<th>Delivery Date</th>
<th>Order Status</th>
</tr>
</thead>
';
echo $output;
?>
Javascript功能
function SearchOrders()
{
document.getElementById("OrderTable").innerHTML="";
document.getElementById("NoData").innerHTML="";
document.getElementById("Results").style.display = 'none';
startDate=document.getElementById("Start_Date").value;
endDate=document.getElementById("End_Date").value;
$.ajax({
type:"POST",
url:"searchorders.php",
data:
{
'StartDate': startDate,
'EndDate':endDate
},
success: function(data)
{
if (data == "Failed")
{
$('#NoData').append("No data Found!");
}
else
{
$('#OrderTable').append(data);
document.getElementById("Results").style.display = 'block';
$('#SearchResults').DataTable({"columnDefs": [ {
"targets": [0,4,5,6],
"orderable": false
}]});
}
}
})
}
首先添加向上(向上)和向下(向下)箭头。 我在这里使用span
内的文本,您可以将其替换为图标或其他内容,但将其id
保持不变。
<th onclick="sortTable(1)">
<span id="asc1">Up</span>
<span id="desc1">Down</span>
Customer Name
</th>
<th onclick="sortTable(2)">
<span id="asc2">Up</span>
<span id="desc2">Down</span>
Order Date
</th>
<th onclick="sortTable(3)">
<span id="asc3">Up</span>
<span id="desc3">Down</span>
Category Name
</th>
然后将它们隐藏在CSS中,并根据自己的喜好对其进行样式设置
th>span{
display:none;
}
然后编写jquery代码,因为您正在将n
传递给函数,并且您也知道排序的方向。 因此,只需对ID进行反向工程并显示该箭头即可。
$('th>span').hide();
var idChange = '#'+ dir + n;
$(idChange).show();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.