下記セレクトボックスを必須にしたいのでselectにrequiredを記述するとw3cで引っかかります。
全てのselectに記述したいのですが、どれに記述してもエラーが出ました。
エラー内容です
html
1<select id="year" name="000" class="birth" required> 2 <option value="0">----</option> 3</select> 年 4<select id="month" name="000" class="birth" required> 5 <option value="0">--</option> 6</select> 月 7<select id="date" name="000" class="birth" required> 8 <option value="0">--</option> 9</select> 日
日付の取得はjQueryです
jQuery
1$(function(){ 2// 現在の年月日を取得 3 var time = new Date(); 4 var year = time.getFullYear(); 5 var month = time.getMonth() + 1; 6 var date = time.getDate(); 7 8 // 選択された年月日を取得 9 var selected_year = document.getElementById("year").value; 10 var selected_month = document.getElementById("month").value; 11 12 // 年(初期): 1900〜現在の年 の値を設定 13 for (var i = year; i >= 1900 ; i--) { 14 $('#year').append('<option value="' + i + '">' + i + '</option>'); 15 } 16 17 // 月(初期): 1~12 の値を設定 18 for (var j = 1; j <= 12; j++) { 19 $('#month').append('<option value="' + j + '">' + j + '</option>'); 20 } 21 22 // 日(初期): 1~31 の値を設定 23 for (var k = 1; k <= 31; k++) { 24 $('#date').append('<option value="' + k + '">' + k + '</option>'); 25 } 26 27 // 月(変更):選択された年に合わせて、適した月の値を選択肢にセットする 28 $('#year').change(function() { 29 selected_year = $('#year').val(); 30 31 // 現在の年が選択された場合、月の選択肢は 1~現在の月 に設定 32 // それ以外の場合、1~12 に設定 33 var last_month = 12; 34 if (selected_year == year) { 35 last_month = month; 36 } 37 $('#month').children('option').remove(); 38 $('#month').append('<option value="' + 0 + '">--</option>'); 39 for (var n = 1; n <= last_month; n++) { 40 $('#month').append('<option value="' + n + '">' + n + '</option>'); 41 } 42 }); 43 44 // 日(変更):選択された年・月に合わせて、適した日の値を選択肢にセットする 45 $('#year,#month').change(function() { 46 selected_year = $('#year').val(); 47 selected_month = $('#month').val(); 48 49 // 現在の年・月が選択された場合、日の選択肢は 1~現在の日付 に設定 50 // それ以外の場合、各月ごとの最終日を判定し、1~最終日 に設定 51 if (selected_year == year && selected_month == month ) { 52 var last_date = date; 53 }else{ 54 // 2月:日の選択肢は1~28日に設定 55 // ※ ただし、閏年の場合は29日に設定 56 if (selected_month == 2) { 57 if((Math.floor(selected_year%4 == 0)) && (Math.floor(selected_year%100 != 0)) || (Math.floor(selected_year%400 == 0))){ 58 last_date = 29; 59 }else{ 60 last_date = 28; 61 } 62 63 // 4, 6, 9, 11月:日の選択肢は1~30日に設定 64 }else if(selected_month == 4 || selected_month == 6 || selected_month == 9 || selected_month == 11 ){ 65 last_date = 30; 66 67 // 1, 3, 5, 7, 8, 10, 12月:日の選択肢は1~31日に設定 68 }else{ 69 last_date = 31; 70 } 71 } 72 73 $('#date').children('option').remove(); 74 $('#date').append('<option value="' + 0 + '">--</option>'); 75 for (var m = 1; m <= last_date; m++) { 76 $('#date').append('<option value="' + m + '">' + m + '</option>'); 77 } 78});
>w3cで引っかかります。
全てのselectに記述したいのですが、どれに記述してもエラーが出ました。
実際のエラーが出た画面やエラー内容を提示してください。
https://teratail.com/help/question-tips#questionTips3-4
回答1件
あなたの回答
tips
プレビュー