開始日(jQuery datepickerを使用するテキストフィールド)、開始時刻(ドロップダウン選択)、終了日(jQuery datepickerを使用するテキストフィールド)、および終了時刻(ドロップダウン選択)の4つのフィールドがあります。
<form id="my_form">
<label for="start_date">Start Date</label>
<input type="text" id="start_date" name="start_date" />
<label for="start_time">Start Time</label>
<select name="start_time" id="start_time">
<option value="09:00" >09:00</option>
<option value="09:30" >09:30</option>
<option value="10:00" >10:00</option>
<option value="10:30" >10:30</option>
<option value="11:00" >11:00</option>
<option value="11:30" >11:30</option>
<option value="12:00" >12:00</option>
</select>
<label for="finish_date">Finish Date</label>
<input type="text" id="finish_date" name="finish_date" />
<label for="finish_time">Finish Time</label>
<select name="finish_time" id="finish_time">
<option value="09:00" >09:00</option>
<option value="09:30" >09:30</option>
<option value="10:00" >10:00</option>
<option value="10:30" >10:30</option>
<option value="11:00" >11:00</option>
<option value="11:30" >11:30</option>
<option value="12:00" >12:00</option>
</select>
<input type="submit" />
</form>
標準のjQueryDatepickerウィジェット関数を使用して、終了日が常に開始日と同じかそれより遅いことを確認しています。
$( "#start_date" ).datepicker({
dateFormat: 'dd/mm/y',
minDate: new Date(),
onClose: function( selectedDate ) {
$( "#finish_date" ).datepicker( "option", "minDate", selectedDate );
}
});
$( "#finish_date" ).datepicker({
dateFormat: 'dd/mm/y',
minDate: new Date(),
onClose: function( selectedDate ) {
$( "#start_date" ).datepicker( "option", "maxDate", selectedDate );
}
});
だから私の質問は、jQuery検証プラグインを使用して、開始日と終了日が同じである場合、終了時間が開始時間よりも大きい(ただし等しくない)ことを保証するルールを追加するにはどうすればよいですか?どこから始めればいいのかわからないので、現時点では空白のスクリプトがあるので、助けていただければ幸いです。
$("#my_form").validate({
rules: {
start_time: { }
}
});