디자인은 모든기능을 완성하고 다듬을 예정이다. seatAndTime table에 se_date칼럼을 추가했다. 날짜에 따른 그 영화(mo_number)에 시간을 다중 셀렉트로 구현하고 싶었다. ajax를 통해 시도해 보았으나 영화 번호(mo_number) 날짜(se_date) 두 가지 정보가 다 필요해서 컨트롤로 객체를 반환하고 싶은데 아직 방법을 모르겠다. 좀 더 공부해 보고 es6로는 가능한지 자바스크립트를 세밀하게 공부해 봐야겠다.
결과
const addSelect = document.getElementById("se_time");
//const newp = document.createElement("p");
//날짜에 따른 동적 시간변화 함수(Fetch API사용)
async function changetime(se_date, mo_number) {
let URL = "http://localhost:8500/findTime";
let options = {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams({
se_date: se_date,
mo_number: mo_number
})
}
let response = await fetch(URL, options)
let seatandTime = await response.json();
//기존 셀렉트 박스에 있는 옵션 제거(시간 선택 옵션제외) --> 제거하지않으면 날짜를 변경할때마다 누적되서 표현된다.
let select = addSelect;
let elementsByTagName = select.getElementsByTagName("option");
console.log(elementsByTagName.length);
for (let i = elementsByTagName.length - 1; i >= 1; i--) {
elementsByTagName[i].remove();
}
//날짜에 따른 시간 추가 로직
for (let i = 0; i < seatandTime.length; i++) {
/* newp.innerText ="<option value='" + seatandTime[i].se_time + "'>'" + seatandTime[i].se_time + "'</option>"*/
let option = document.createElement("option");
option.value = seatandTime[i].se_time;
option.innerText = seatandTime[i].se_time;
addSelect.appendChild(option);
}
}
const check = () => {
let seDateCheck = document.getElementById("se_date").value;
let seTimeCheck = document.getElementById("se_time").value;
console.log(seDateCheck);
console.log(seTimeCheck);
if(seTimeCheck ==="" || seDateCheck===""){
alert("날짜 혹은 시간을 선택 해주세요.")
return false;
}else {
return true;
}
}
'개발일기 > 프로젝트 일기' 카테고리의 다른 글
HealthDuo - 무한대댓글(JPA) (0) | 2022.06.23 |
---|---|
HealthDuo - RedirectAttributes (0) | 2022.06.21 |
HomeTheater-좌석페이지 (0) | 2022.06.19 |
HealthDuo - 중복회원 검사 기능 추가(jpa,fetch) (0) | 2022.06.13 |
[mysql] java.sql.sqlnontransientconnectionexception:public key retrieval is not allowed (0) | 2022.06.08 |