
스크립트를 어떻게 만들어야 할지 몰라서 문의 드립니다.
셀렉트박스 두개가 있습니다.
하나는 시작시간 하나는 종료시간입니다.
제가 하고싶은것은
종료시간이 시작시간보다 같거나 앞에 있을경우에
(이루질수 없는 경우이겠지요)
"시간설정 오류입니다." 라는 메세지를 띄우고 싶습니다.
어떻게 해아할지 감이 안오네요
고수님들의 답변을 부탁드립니다.
|
답변 1개 / 댓글 1개
채택된 답변
+20 포인트
2024-08-10 (토) 18:49:01
다음 코드가 도움이 될지 모르겠습니다.
Copy
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
function validate_option(evt) {
var idx = null;
var val_a = $('#opt_start option:selected').attr('value')?.replace(':', '') || -1;
var val_b = $('#opt_finish option:selected').attr('value')?.replace(':', '') || -1;
val_a = Number(val_a);
val_b = Number(val_b);
if (val_a > -1 && val_b > -1 && val_a >= val_b) {
alert('시간설정 오류입니다.');
idx = $(evt.target).attr('idx-before') || 0;
$(evt.target).children('option:eq(' + idx + ')').prop('selected', true);
return;
}
idx = $(evt.target).children('option:selected').index();
$(evt.target).attr('idx-before', idx);
}
$(function () {
$('#opt_start').change(validate_option);
$('#opt_finish').change(validate_option);
});
</script>
<select id="opt_start">
<option>시작시간</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>
<option value="12:30">12:30</option>
<option value="13:00">13:00</option>
<option value="13:30">13:30</option>
<option value="14:00">14:00</option>
<option value="14:30">14:30</option>
<option value="15:00">15:00</option>
</select>
<select id="opt_finish">
<option>종료시간</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>
<option value="12:30">12:30</option>
<option value="13:00">13:00</option>
<option value="13:30">13:30</option>
<option value="14:00">14:00</option>
<option value="14:30">14:30</option>
<option value="15:00">15:00</option>
<option value="15:30">15:30</option>
</select>
답변에 대한 댓글 1개
smltree
2024-08-10 (토) 19:24:20
답변을 작성하려면 로그인이 필요합니다.
너무너무 잘돌아갑니다.~^^