// PART 1 -- CREATING THE TABLE USING ARRAY
let table_elements = [
["Krishna", 3, 47.3],
["Robert", 2, 47.4],
["Jennifer", 4, 82],
["Dekisugi", 1, 71],
["Muhammad", 5, 68]
];
let getTable = document.getElementsByTagName("table")[0];
window.onload = () => {
getTableData();
}
function getTableData(){
table_elements.forEach((value, index) => {
let tr = document.createElement("tr");
for(let x=0; x<table_elements[0].length; x++)
{
let td = document.createElement("td");
td.innerHTML = table_elements[index][x];
tr.appendChild(td);
}
getTable.appendChild(tr);
});
}
// PART 2 -- SORTING THE VALUES UPON SELECT AN OPTION
function sortByCategory(n){
n = n.selectedIndex; /* value of n must be 1 in this case */
// console.log(n);
let isString = typeof table_elements[0][n-1];
// console.log(isString);
var sortingOrder = document.getElementById("sortingOrder").value;
if(isString == "string")
{
if(sortingOrder == "Ascending")
table_elements.sort();
else
table_elements.sort().reverse();
}
else
{
if(sortingOrder == "Ascending"){
table_elements.sort(function (a, b) {
return a[n-1] - b[n-1];
});
}
else{
table_elements.sort(function (a, b) {
return b[n - 1] - a[n - 1];
});
}
}
for(let y=1; y<table_elements.length + 1; y++){
let getTR = getTable.getElementsByTagName("tr")[y];
for(let z=0; z<table_elements[0].length; z++){
let getTD = getTR.getElementsByTagName("td")[z];
getTD.innerHTML= table_elements[y-1][z];
}
}
在此代码中一切正常,但我需要将表格元素排序为升序或降序。因此,当我选择升序或降序时,它应该根据事件进行排序。但我需要再次点击按类别排序选项,然后它才起作用。当我选择升序或降序时,我尝试运行函数 sortbycategory。但它仍然不起作用。试试代码,你就会明白我在说什么。那么我怎样才能摆脱这个呢?
www说
江户川乱折腾
随时随地看视频慕课网APP
相关分类