Как создать для этой цели простую функцию сортировки. Я знаю, что есть плагин, такой как tablesorter. Но он не сортирует его из выпадающего списка. Или плагин может быть изменен так, чтобы он мог сортироваться из выпадающего списка. Заранее спасибо.Как отсортировать таблицу из выпадающего списка
HTML:
<form action="#" method="post">
<input type="text" id="UserID" name="UserID" readonly="readonly">
<input type="text" id="UserName" name="UserName" placeholder="Name">
<input type="text" id="UserOccupation" name="UserOccupation" placeholder="Occupation">
<button type="button" name="button">Add</button><br>
</form>
Sort By:
<select>
<option>ID</option>
<option>Name</option>
<option>Occupation</option>
</select>
<table id="table" class="tablesorter">
<thead>
<tr >
<th>ID</th>
<th>Name</th>
<th>Occupation</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
Javascript:
$(document).ready(function() {
//Set id field to 1
var id = $('#UserID');
id.val("1");
//Add 1 to the id in textbox
function incID(){
var str = id.val();
var int = parseInt(str);
var idVal = int + 1;
id.val(idVal.toString());
}
//When button clicked
$('button').on('click', function(){
//create a new object
var obj = new Object();
//pass value dynamically from input box
obj.id = $('#UserID').val();
obj.name = $('#UserName').val();
obj.occupation = $("#UserOccupation").val();
//display data to the table
var addrow = "<tr><td>" + obj.id + "</td><td>" + obj.name + "</td><td>"+ obj.occupation +"</td></tr>";
$("table tbody").append(addrow);
//Add 1 to id field
incID();
});
});
Большое спасибо, сэр. Первое решение без плагина tablesorter работает отлично. Но у меня есть вопрос. Что такое номер 10 для функции sortByNumber? И почему вы используете цикл for? – Amher25
Не обращайте внимания на мой последний вопрос в цикле for. Он используется для отображения данных в таблицу. – Amher25
Правильно, цикл действительно предназначен для отображения данных в таблице. Число 10 в parseInt состоит в том, чтобы убедиться, что оно анализирует число в base-10 (нормальные человекочитаемые числа от 0 до 10, 10-20 и т. Д.), А не случайно base-8. Что может произойти, если текст в столбце начинается с «0». Для получения дополнительной информации об этом: https://developer.mozilla.org/nl/docs/Web/JavaScript/Reference/Global_Objects/parseInt – Thomas