とりあえず最近はプログラムを進めています
今回はソート機能を軽く説明します
function sortTable(ele,sortFlg){ let arr = $('table tbody tr').sort(function(a,b){ if($.isNumeric($(a).find('td').eq(ele).text())){ let aNum = Number($(a).find('td').eq(ele).text()); let bNum = Number($(b).find('td').eq(ele).text());
if(sortFlg == "asc"){ return aNum - bNum; }else{ return bNum - aNum; } }else{ let sortNum = 1; if($(a).find('td').eq(ele).text().toLowerCase() > $(b).find('td').eq(ele).text().toLowerCase()){ sortNum = 1; }else{ sortNum = -1; } if(sortFlg == "desc"){ sortNum *= (-1); } return sortNum; } }); $('table tbody').html(arr); }
ソート機能の根幹になるJavaScriptのコードです。多分コードだけ書かれても何かよくわからないと思うのでどんな処理しているか説明すると、ソートしたい数字を表の上から順番に取り出していって、比較していって順番を入れ替えるという処理をしています。文字の要素でソートする場合は、文字一つ一つに設定されている文字コードで比較してます。なので、「acb順」や「あいうえお順」にはなりません。残念ながら。
コード全体は長すぎるので載せません。あと、サンプルも載せ方がわからないので載せません。
え?説明が短いって?いやー「タグがどうこう」とか説明しても逆にわかりづらいかなと思ったんで簡単な処理の説明だけにしてみました敢えてね。
次からはHTMLの「キホンのキ」講座でもしようかな?
ゆーとくん、おつかれさまです!
おおぉ、これがプログラムというものですか!!かっこいい〜😳✨✨!!(素人丸出し)
文字の要素でソートするとき、「acb順」や「あいうえお順」にはできないのですね。そういう事情知らない私みたいな素人が顧客だと「いま数字順だけど、ちやちゃっとあいうえお順にしてくれます?明日までに」とか言っちゃうんだろうなぁ、、と思いました😅
「HTMLの「キホンのキ」講座」いいですねー✨!!ぜひ、お願いしたいです🙌!!
引き続き、宜しくお願いします✨!!