#例
バイトのシフトテーブル
id | name | number |
---|---|---|
1 | 平日 | 62 |
2 | 休日 | 65 |
3 | 月水金 | 42 |
#コード(jQuery)
See the Pen zYYEJoM by ikeou (@ikeou3) on CodePen.
#やっていること
###月・水・金(例のid:3)をチェックした場合
①各チェックボックスのvalueを取得し合計を算出
月曜:2 + 水曜:8 + 金曜:32 = 42
②合計値をDBに登録(今回は割愛)
③DBからデータを取得(今回は割愛)
④取得してきたデータを二進法表記に変更
42 → 101010
⑤二進法表記を7桁に修正
101010 → 0101010
⑥各桁の値を取得
⑦取得してきた値が「1」の桁をピックアップ
0101010
2,4,6桁目
⑧十進法に戻す(コードでは曜日の配列と突合)
2桁目が1 → 0000010 → 2 → 月曜
4桁目が1 → 0001000 → 8 → 水曜
6桁目が1 → 0100000 → 32 → 金曜
#参考
十進法 | 二進法 | |
---|---|---|
日曜日 | 1 | 0000001 |
月曜日 | 2 | 0000010 |
火曜日 | 4 | 0000100 |
水曜日 | 8 | 0001000 |
木曜日 | 16 | 0010000 |
金曜日 | 32 | 0100000 |
土曜日 | 64 | 1000000 |