このために単純なソート関数を作成するにはどうすればよいですか?私は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();
});
});
http://tablesorter.com/docs/example-trigger-sort.htmlはあなたに非常に多くの先生ありがとうございました。 tablesorterプラグインのない最初のソリューションは完全に機能します。しかし、私は質問があります。関数sortByNumberの10は何ですか?なぜforループを使うのですか? – Amher25
最後の質問は、forループには気にしないでください。テーブルにデータを表示するために使用されます。 – Amher25
正しいですが、ループはテーブルのデータを表示するためのものです。 parseIntの数字10は、基数10の数字(0-10,10-20などの人間が読める普通の数字)を解析し、偶然base-8ではないことを確認することです。列のテキストが「0」で始まる場合に発生する可能性があります。詳細はhttps://developer.mozilla.org/nl/docs/Web/JavaScript/Reference/Global_Objects/parseInt – Thomas