반응형
모든 tr에 td값을 비교해서 날짜 시간 중복되는것 걸러내기
if( $(item).find("[data-date]").val() || $(item).find("[data-time]").val() || $(item).find("[data-place]").val() ) {
var date = $(item).find("[data-date]").val();
var time = $(item).find("[data-time]").val();
//time에 '~'포함 여부 체크
if(time.indexOf('~') == -1){
alert("시간대 설정을 다시해주세요.\n예) 10:00 ~ 12:00");
isProgress = false;
return false;
}
var trLength = $(item).closest('tr').prevAll().length;
time = time.split("~");
var stTime = time[0].trim();
var edTime = time[1].trim();
var trs_one = $('#listRepeatArea tr');
trs_one.each(function() {
if($(this).closest('tr').prevAll().length != trLength){
if($(this).find("[data-date]").val() == date){
var chkTime = $(this).find("[data-time]").val();
chkTime = chkTime.split("~");
chkStTime = chkTime[0].trim();
chkEdTime = chkTime[1].trim();
if(stTime < chkEdTime && edTime > chkStTime){
alert("동일한 날짜, 시간으로 등록하실 수 없습니다.");
$(this).find("[data-time]").focus();
isProgress = false;
return false;
}
};
}
});
if( !isProgress ) {
return false;
}
}
tip
each문에서는 return false가 원하는 방식으로 적용되지가 않기때문에 each문 밑에 조건문 추가해야 한다.
반응형
'개발노트' 카테고리의 다른 글
JAVA 접속자 IP 가져오기 (0) | 2022.06.16 |
---|---|
Controller에서 Request을 hashmap으로 받기 (0) | 2022.05.31 |
버튼으로 테이블 tr, td 제어하기 (0) | 2022.05.10 |
NICE 인증 크로스도메인 에러 (0) | 2022.05.09 |
톰캣 세션풀림 현상 (0) | 2022.04.29 |