Javascript 如何使用jQuery按自定义列对表进行排序
因此,我有一个引导表,可以在Javascript 如何使用jQuery按自定义列对表进行排序,javascript,jquery,bootstrap-4,bootstrap-table,Javascript,Jquery,Bootstrap 4,Bootstrap Table,因此,我有一个引导表,可以在selectbox中按onchange对其进行排序。但我想按自定义列对表进行排序。当我选择选项1时,我应该对列[1]进行排序,否则对列[2](在所选选项2上)进行排序。列[1]-名称必须按升序排序,列[2]-地址必须按降序排序,或者谁能给我正确的方法 <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="https://stackpath.bootst
selectbox
中按onchange
对其进行排序。但我想按自定义列对表进行排序。当我选择选项1时,我应该对列[1]进行排序,否则对列[2](在所选选项2上)进行排序。列[1]-名称必须按升序排序,列[2]-地址必须按降序排序,或者谁能给我正确的方法
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous">
</script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous">
</script>
</head>
<body>
<div class="container">
<div class="row d-flex justify-content-center align-items-center">
<div class="col-12">
<select class="m-auto" id="select" onchange="sortTable();">
<option value="" disabled selected>SORTING </option>
<option value="0">NAMES Ascending</option>
<option value="1">ADDRESS Descending</option>
</select>
</div>
</div>
<div class="row mt-3">
<div class="col-12">
<table class="table" id="myTable">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Name</th>
<th scope="col">Address</th>
<th scope="col">City</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Inna</td>
<td>St. Park 3 </td>
<td>London</td>
</tr>
<tr>
<td>2</td>
<td>Anna</td>
<td>Boston Street 4 </td>
<td>London</td>
</tr>
<tr>
<td>3</td>
<td>Emma</td>
<td>Harrow 19 </td>
<td>London</td>
</tr>
<tr>
<td>4</td>
<td>Chris</td>
<td>Antoan Blick 19 </td>
<td>London</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
<script>
function sortTable() {
var rows = $("#myTable tbody tr").get();
rows.sort(function (a, b) {
var A = $(a)
.children("td")
.eq(1)
.text()
.toUpperCase();
var B = $(b)
.children("td")
.eq(2)
.text()
.toUpperCase();
if (A < B) {
return -1;
}
if (A > B) {
return 1;
}
return 0;
});
$.each(rows, function (index, row) {
$("#myTable")
.children("tbody")
.append(row);
});
}
</script>
分类
名字升序
地址递减
#
名称
地址
城市
1.
伊娜
圣公园3
伦敦
2.
安娜
波士顿街4号
伦敦
3.
艾玛
哈罗19
伦敦
4.
克里斯
安托万·布利克19
伦敦
函数sortTable(){
var rows=$(“#myTable tbody tr”).get();
行排序(函数(a,b){
变量A=$(A)
.儿童(“td”)
.eq(1)
.text()
.toUpperCase();
变量B=$(B)
.儿童(“td”)
.eq(2)
.text()
.toUpperCase();
if(AB){
返回1;
}
返回0;
});
$.each(行,函数(索引,行){
$(“我的表格”)
.儿童(“tbody”)
.追加(第行);
});
}
通过以下脚本更新脚本
function sortTable() {
var rows = $("#myTable tbody tr").get();
var selected_column = $('#select').val();
selected_column = +selected_column+1;
rows.sort(function (a, b) {
var A = $(a)
.children("td")
.eq(selected_column)
.text()
.toUpperCase();
var B = $(b)
.children("td")
.eq(selected_column)
.text()
.toUpperCase();
if(selected_column==1){
return ascending(A,B);
}else if(selected_column==2){
return descending(A,B);
}
});
$.each(rows, function (index, row) {
$("#myTable")
.children("tbody")
.append(row);
});
}
function ascending(A,B){
if (A < B) {
return -1;
}
if (A > B) {
return 1;
}
return 0;
}
function descending(A,B){
if (A < B) {
return 1;
}
if (A > B) {
return -1;
}
return 0;
}
函数排序表(){
var rows=$(“#myTable tbody tr”).get();
var selected_column=$('#select').val();
选定的_列=+选定的_列+1;
行排序(函数(a,b){
变量A=$(A)
.儿童(“td”)
.eq(所选列)
.text()
.toUpperCase();
变量B=$(B)
.儿童(“td”)
.eq(所选列)
.text()
.toUpperCase();
如果(所选列==1){
返回升序(A,B);
}else if(所选列==2){
返回下降(A,B);
}
});
$.each(行,函数(索引,行){
$(“我的表格”)
.儿童(“tbody”)
.追加(第行);
});
}
函数升序(A,B){
if(AB){
返回1;
}
返回0;
}
函数递减(A,B){
if(AB){
返回-1;
}
返回0;
}
谢谢!这是干净的溶液