日付のプルダウンが3列並んでいる画面を作っています。
下のコードは3つの共通の処理です。
"aaa"の部分はそれぞれ違うIDが入っています。
この処理をIDを変えて3回分書いているのをまとめたいのですがどのような書き方をしたらいいかわかりません。
ご教授してくださると幸いです。
var time = new Date(); var year = time.getFullYear(); var month = time.getMonth(); var date = time.getDate(); function day_hyouji(get_date) { var selected_year = $('#nen').val(); var selected_month = $('#aaa_tsuki').val(); if (selected_month == 2) { if ((Math.floor(selected_year % 4 == 0)) && (Math.floor(selected_year % 100 != 0)) || (Math.floor(selected_year % 400 == 0))) { last_date = 29; } else { last_date = 28; } } else if (selected_month == 4 || selected_month == 6 || selected_month == 9 || selected_month == 11) { last_date = 30; } else { last_date = 31; } $('#aaa_hi').children('option').remove(); $('#aaa_hi').append('<option value="' + +'"></option>'); for (var m = 1; m <= last_date; m++) { if (m == get_date) { $('#aaa_hi').append('<option value="' + m + '" selected>' + m + '</option>'); } else { $('#aaa_hi').append('<option value="' + m + '">' + m + '</option>'); } } } function youbi_hyouji() { var t = $('#aaa_tsuki').val(); var h = $('#aaa_hi').val(); var y = $('#nen').val(); let date = new Date(`${y}-${t}-${h}`); let week_japanese = ["日", "月", "火", "水", "木", "金", "土"]; let week = week_japanese[date.getDay()]; $('#aaa_youbi').text(`${week}`); } $('#nen,#naaai_tsuki').change(function () { var h = $('#aaa_hi').val(); youbi_hyouji(); day_hyouji(h); }); $('#aaa_hi').change(function () { youbi_hyouji(); }); $('#nen,#aaa_tsuki').ready(function () { var h = "<%= @xxx %>" day_hyouji(h); }); $('#aaa_tsuki,#aaa_hi').ready(function () { youbi_hyouji(); }); });
とりあえず動作が確認できません。HTMLも表示したほうがよいでしょう
回答3件
あなたの回答
tips
プレビュー