function문 안에서 for문 들리고 있습니다.
본문
function myselected(g_idx, select_idx.....){
if (obj.className == 'default' || obj.className == 'over') { // 선택가능한 상태
obj.className = "selected";
if (pos != 1) { // 선택된 값이 1이 나머지 pos 를 모두 변경
for(i=1; i<12; i++){
ele = document.getElementById(g_idx + "_" + i + "_1");
if (ele && ele != null) {
if (ele.className == "selected") {
ele.className = "default";
}
}
}
}
안녕하세요.
function 안에서 for문을 돌리는데요, 하나의 조건이 더 붙을때...가 막혀서 글 남깁니다.
위 내용대로 사용하는데요. pos != 1 이 아닐때...나머지 pos 에 해당하는 ele 값을 찾아서
모두 class값을 변경합니다.(selected 일때만 default 로)
저 구문은 실행에 문제 없습니다. 단지 원하는 바를 얻지는 못했습니다.
단지, 하나 조건을 더 넣을려고 합니다.
for문에서 i 값을 (ele = document.getElementById(j_idx + "_" + i + "_1");) 이부분에 넣어
활용하고 있는데요. 제가 구현하려고 하는건..
만약 i = 3 일때...저 i=3 인것을 제외하고 for문을 돌릴수 있을까 해서요.
i = 4 일때도 마찬가지 구요...즉, 넘어온 값의 i 값은 제외 하고 for 문을 돌릴수 있나 해서요..
물론, 노가다 한다 생각하고 for 문을 i 보다 적은수로 한번, 높은수로 한번..이렇게 두번 돌려야 하나..
생각해 봤는데요. i 가 어떤값이 넘어 올지도 모르는데...1~11 까지의 경우의 수로 모두 구문을 작성해 두는것은 말도 안되는거 같구요.....좀더 효과적인 방법이 있지 않을까 해서요..
if (pos != 1) { // 부터 새로 짜야 할거 같습니다.
pos 는 현재 id 값이 아닙니다.
id 값이 3 일때..나머지 3을 제외한 1~33 을 모두 적용 하는 방법을 찾고 있습니다.
넘겨진 id 값( 최대 경우의 수 1~33)을 제외한 나머지에 대한 for문....
조언 구하고자 합니다.
오늘도 지식 구걸합니다. 감사합니다.
!-->
답변 1
※ https://www.w3schools.com/php/php_looping_break.asp
function myselected(g_idx, select_idx.....){
if (obj.className == 'default' || obj.className == 'over') { // 선택가능한 상태
obj.className = "selected";
for(i = 1; i < 12; i++) {
if (pos == i)
continue;
ele = document.getElementById(g_idx + "_" + i + "_1");
if (ele && ele != null) {
if (ele.className == "selected") {
ele.className = "default";
}
}
}
}
}