前提・実現したいこと
Javascriptの勉強の一環ですので「このプログラムに何の意味があるの?」とかと突っ込まずにご教示していただけると幸いです。
曜日を選択した時に先週と今週の日付をコンソールで表示させたい。
例)
今日が2019/2/11 月曜日の時
セレクトボックスで水曜日と選択したら、
先週の水曜日は2019/2/16
今週の水曜日は2019/2/13
と表示させたい。
発生している問題・エラーメッセージ
今日の日にちの取得、日付に該当する曜日を表示させるところまでは出来ました。
分からないこととしては、曜日を選択した時に、先週と今週のその曜日の日付の取得方法が分からなくて困っています。
該当のソースコード
html
1<select id="date"> 2<option value="">*チーム選択</option> 3<option value="mon">月曜日</option> 4<option value="tue">火曜日</option> 5<option value="wed">水曜日</option> 6<option value="thu">木曜日</option> 7<option value="fri">金曜日</option> 8<option value="sat">土曜日</option> 9<option value="sun">日曜日</option> 10</select> 11<input type="button" value="go" id="btn_date">
js
1window.addEventListener('DOMContentLoaded', function(){ 2 document.querySelector('#btn_date').addEventListener('click',function(){ 3 4 var WeekChars = [ "日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日" ]; 5 var dObj = new Date( /* 何らかの日付 */ ); 6 var wDay = dObj.getDay(); 7 console.log(dObj+WeekChars[wDay]); 8 9 const str = document.getElementById("date").value; 10 console.log('今週' + str +'は' + '日です');//今週tueは日です 11 12 }); 13});
###追記
今日の日付からsetDate(dObj.getDate() +(-) 7);で先週まで遡るのと翌週まで進ませるところまではなんとか出来ました。
適当に選択した曜日から今週の日付と先週の日付を取得する方法をご教示いただきたいです。
###現在のコード
html
1<select id='select'></select>
js
1//セレクトボックス 2var week = [ "日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日" ]; 3 4for(var i=0;i<week.length;i++){ 5let op = document.createElement("option"); 6op.text = week[i]; 7document.getElementById("select").appendChild(op); 8} 9 10window.addEventListener('DOMContentLoaded', function(){ 11 document.querySelector('#btn_date').addEventListener('click',function(){ 12 13 var dObj = new Date( /* 何らかの日付 */ ); 14 var wDay = dObj.getDay(); 15 console.log(week[wDay]); 16 17 const str = document.getElementById("select").value; 18 //console.log('今週' + str +'は' + '日です'); 19 console.log(wDay); 20 console.log(str.length); 21 console.log(wDay === str.length);//optionで選択した配列の要素数を取得したい。 22 23 }); 24});
###実現したいこと
セレクトのoptionで選択した配列の要素数を取得する方法を知りたい。
回答2件
あなたの回答
tips
プレビュー