1

私はこのhtmlを持っています:

<input class="smalldatepicker" type="date" id="datepickerFrom" value="2016-09-04">
</input>
<label class="cccsfont"> to </label>
<input type="date" class="smalldatepicker" id="datepickerTo" value="2016-09-10">
</input>

これは、「datepickerTo」を先週の土曜日 (これは、9/15 木曜日の今日の日付に基づいています) に設定し、「datepickerFrom」をその前の日曜日に設定します。

ただし、これは手動で追加されます。jQueryで、次のようにプログラムで実行したい:

var lastSat = getLastSaturday(); // return in form "YYYY-MM-DD" 
var sundayBeforeLastSat = getSundayBeforeLast(lastSat); // " "

$("#datepickerTo").val(lastSat);
$("#datepickerFrom").val(sundayBeforeLastSat);

これでうまくいくと思いますが、関数に何を入れればよいかわかりません:

function getLastSaturday() {
     return ???;
}

function sundayBeforeLastSat(lastSat) {
     return ???;
}
4

2 に答える 2

2

moment.js などのライブラリを使用したくない場合

これを試して :

$(function(){

	
var lastSat = getLastSaturday(); // return in form "YYYY-MM-DD" 
var sundayBeforeLastSat = getSundayBeforeLastSat(lastSat); // " "
console.log("Last satuarday: "+lastSat);
    console.log("Last Sunday: "+sundayBeforeLastSat);

$("#datepickerTo").val(lastSat);
$("#datepickerFrom").val(sundayBeforeLastSat);
});

function getLastSaturday() {
    newDate= new Date();
	daysAfterSat = newDate.getDay()+1;
	lastSat = new Date(newDate.setDate(newDate.getDate()-daysAfterSat));
	dateString = lastSat.getFullYear()+ "-"+('0' + (lastSat.getMonth()+1)).slice(-2) + '-'+('0' + lastSat.getDate()).slice(-2);
              
	return dateString;
}

function getSundayBeforeLastSat(lastSat) {
    date = new Date(lastSat);
	lastSun = new Date(date.setDate(date.getDate()-6));
	dateString = lastSun.getFullYear()+ "-"+('0' + (lastSun.getMonth()+1)).slice(-2) + '-'+('0' + lastSun.getDate()).slice(-2);
	return dateString;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input class="smalldatepicker" type="date" id="datepickerFrom" value="">
</input>
<label class="cccsfont"> to </label>
<input type="date" class="smalldatepicker" id="datepickerTo" value="">
</input>
</form>

于 2016-09-15T19:27:18.820 に答える