Код: Выделить всё
$('#search-input').on('keyup', function() {
var value = $(this).val()
console.log('Value:', value)
var data = searchTable(value, myArray)
buildTable(data)
})
buildTable(myArray)
function searchTable(value, data) {
var filteredData = []
for (var i = 0; i < data.length; i++) {
value = value.toLowerCase()
var name = data[i].name.toLowerCase()
if (name.includes(value)) {
filteredData.push(data[i])
}
}
return filteredData
}
$('th').on('click', function() {
var column = $(this).data('colname')
var order = $(this).data('order')
var text = $(this).html()
text = text.substring(0, text.length - 1);
if (order == 'desc') {
myArray = myArray.sort((a, b) => a[column] > b[column] ? 1 : -1)
$(this).data("order", "asc");
text += '▼'
} else {
myArray = myArray.sort((a, b) => a[column] < b[column] ? 1 : -1)
$(this).data("order", "desc");
text += '▲'
}
$(this).html(text)
buildTable(myArray)
})
function buildTable(data) {
var table = document.getElementById('myTable')
table.innerHTML = ''
for (var i = 0; i < data.length; i++) {
var colname = `id-${i}`
var colage = `age-${i}`
var colbirth = `birth-${i}`
var row = `
${data[i].name}
${data[i].age}
${data[i].birthdate}
`
table.innerHTML += row
}
}Код: Выделить всё
th {
cursor: pointer;
color: #fff;
}Код: Выделить всё
Name ▲
Age ▲
Birthday ▲
var myArray = [{
'name': 'Michael',
'age': '30',
'birthdate': '11/10/1989',
'email': 'None'
},
{
'name': 'Mila',
'age': '32',
'birthdate': '10/1/1989'
},
{
'name': 'Paul',
'age': '29',
'birthdate': '10/14/1990'
},
{
'name': 'Dennis',
'age': '25',
'birthdate': '11/29/1993'
},
{
'name': 'Tim',
'age': '27',
'birthdate': '3/12/1991'
},
{
'name': 'Erik',
'age': '24',
'birthdate': '10/31/1995'
},
]
Этот код, который я нашел на Github, в основном выполняет свою работу, проблема в том, что это должен быть код JSON:
Код: Выделить всё
[
{
"id": "ORD-001",
"date": "2025-10-15",
"email": "alex.johnson@example.com",
"status": "paid",
"subtotal": 47.5,
"tax": 3.8,
"shipping": 5,
"discount": 0
},
{
"id": "ORD-002",
"date": "2025-10-14",
"email": "maria.garcia@example.com",
"status": "pending",
"subtotal": 84.99,
"tax": 7.2,
"shipping": 5,
"discount": 10
},
{
"id": "ORD-003",
"date": "2025-10-13",
"email": "sam.lee@example.com",
"status": "refunded",
"subtotal": 25,
"tax": 2,
"shipping": 0,
"discount": 0
},
{
"id": "ORD-004",
"date": "2025-10-12",
"email": "taylor.brown@example.com",
"status": "paid",
"subtotal": 125,
"tax": 10,
"shipping": 5,
"discount": 0
}
]
Я попробовал изменить части JSON имени, даты и даты рождения на то, что мне нужно: идентификатор, дата, адрес электронной почты, статус и т. д. Я думал, что это позволит мне легко менять категории, но это просто нарушает код.
Подробнее здесь: https://stackoverflow.com/questions/797 ... son-values