前提・実現したいこと
チェックボックスにチェックが入った
inputタグの内容を配列で取り出し、そのinputないの数値データ(data-distance)を元に
下降昇降の並び替えをしたいです。
初学者のため、質問の意図や情報が少ないかも知れませんが
お力添えいただければ幸いです。
該当のソースコード
html
1<label> 2 <input type="checkbox" name="member" data-distance=3 value="名前A3" class="aGroup">名前A3 3 </label> 4 <label> 5 <input type="checkbox" name="member" data-distance=1 value="名前A1" class="aGroup">名前A1 6 </label> 7 <label> 8 <input type="checkbox" name="member" data-distance=2 value="名前A2" class="aGroup">名前A2 9 10<label> 11 <input type="checkbox" name="member" data-distance=1 value="名前B1" class="bGroup">名前B1 12 </label> 13 <label> 14 <input type="checkbox" name="member" data-distance=2 value="名前B2" class="bGroup">名前B2 15 </label>
javascript
1var vals = []; // 配列を定義 2 $('input[name="member"]:checked').each(function() { 3 vals.push( $(this).val()); // 配列に値を追加 4 5 console.log(vals); 6=> ["名前A3", "名前A1", "名前A2", "名前B1"] 7 8 // グループAの配列だけをピックアップ 9 var aGroup = vals.filter(item => item.match(/A/)); 10 11 console.log(aGroup); 12=> (3) ["名前A3", "名前A1", "名前A2"] 13 14 function compareFunc(a, b) { 15 return a.distance - b.distance; 16 } 17 aGroup.sort(compareFunc); 18 19 console.log(aGroup); 20=> (3) ["名前A3", "名前A1", "名前A2"] 21本来はここで["名前A1", "名前A2"、"名前A3"]この順番にしたい。 22 23...この先もfunctionの中身が続きます。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー