for 문일때 조건 값관련 문의 드립니다. 채택완료
: disN - 숨김 처리
실내를 선택 했을때 서브조건이 나오고, 복도했을때 안나오고, 건물했을때 서브조건이 나오고
예) 조건
ㄴ 실내 --- 서브조건(실내 : 방,화장실)
ㄴ 복도 --- 없음
ㄴ 건물 --- 서브조건(건물 : 주차장, 출입구)
</p>
<p>var html = '';</p>
<p>for(var i as 조건) {</p>
<p> if (실내 == 서브조건) {</p>
<p> // 조건이 맞을 경우 숨김 클레스 빼기</p>
<p> $(".aa").removeClass('disN');</p>
<p> // 값넣기</p>
<p> html += '';</p>
<p> } else {</p>
<p> // 숨김 클레스 넣기 </p>
<p> $(".aa").addClass('disN');</p>
<p> </p>
<p> }</p>
<p>} </p>
<p>
위와 같이 했는데
실내 했을때는 서브조건이 안나오고
건물 했을때는 서브 조건이 나옵니다.
왜 그런지 조언 구합니다.
감사합니다.
답변 5개
답변에 대한 댓글 3개
codepen 이나 jsfiddle 에 올리셔서 링크 공유해주세요.
-----------------------------(실내를 선택했을때)
값을 선택해주세요 : 실내
:350 실내-------------실내
:357 숨김클레스빼기
:350 실내-------------건물
:353 숨김클레스더하기 ---> 이것때문에 서브가 숨김 처리 됩니다.
----------------------------(복도를 선택했을때)
값을 선택해주세요 : 복도
:350 복도-------------실내
:353 숨김클레스더하기
:350 복도-------------건물
:353 숨김클레스더하기
-----------------------------(건물선택했을때)
값을 선택해주세요 : 건물
:350 건물-------------실내
:353 숨김클레스더하기
:350 건물-------------건물
:357 숨김클레스빼기
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
코드 올려 봅니다.
</p>
<p>// 1차 조건 값</p>
<p>var fVal = app.$(this).val();</p>
<p>console.log('값을 넣어주세요 : '+fVal);</p>
<p> </p>
<p>// 서브 HTML 변수값 초기화</p>
<p>var subhtml = '';</p>
<p> </p>
<p>/* 서브 옵션 정보 불러오기 ::: S */</p>
<p>for(var k in json_data.sub_step){</p>
<p>if (fVal == json_data.sub_step[k].qc_link_id) {</p>
<p>// 숨김 클레스 빼기</p>
<p>$(".sub_wrapp").removeClass('disN');</p>
<p>/* 1. 서브 옵션 값::: */</p>
<p>subhtml += '<div class="item-inner">';</p>
<p>subhtml += '<div class="item-title item-label">'+fVal+'</div>';</p>
<p>subhtml += '<div class="item-input-wrap">';</p>
<p> </p>
<p>subhtml += '<div class=" quote_ui_box">';</p>
<p> </p>
<p>var subvaldata = json_data.sub_step[k].qc_opt_value.split('|');</p>
<p>for(var r in subvaldata){</p>
<p>subhtml += '<label class="radio">';</p>
<p>subhtml += '<input type="radio" id="substep_'+r+'" name="substep'+r+'" class="st_event_inp st_event_push_inp ss" data-field="'+subvaldata[r]+'" value="'+subvaldata[r]+'">';</p>
<p>subhtml += '<i class="icon-checkbox"></i>';</p>
<p>subhtml += '<span>'+subvaldata[r]+'</span>';</p>
<p>subhtml += '</label>';</p>
<p>}</p>
<p> </p>
<p>subhtml += '</div>';</p>
<p>subhtml += '</div>';</p>
<p>app.$('.sub-slide').eq(0).find(".sub_wrapp").html(subhtml);</p>
<p> </p>
<p>/* 5. 서브 옵션 입력값 체크 */</p>
<p>app.$(".sub-wrapper .ss").click(function(e){</p>
<p>var subchk = app.$(this)[0].checked;</p>
<p>console.log('체크'+subchk);</p>
<p> </p>
<p>if (subchk == true) {</p>
<p>app.$(".sub-wrapper .ss:checked").each(function(index){</p>
<p>fsubVal = app.$(this).val();</p>
<p>console.log('서브값값을 넣어주세요 : '+fsubVal);</p>
<p>});</p>
<p>}</p>
<p>});</p>
<p>} else {</p>
<p>// 숨김 클레스 넣기</p>
<p>$(".sub_wrapp").addClass('disN');</p>
<p>}</p>
<p>}</p>
<p>/* 서브 옵션 정보 불러오기 ::: E */</p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 3개
=> 전달 드립니다.
/* 메인 옵션*/
0: {qc_id: "7", qc_ca_id: "1303", qc_opt_num: "1", qc_opt_name: "실내", qc_opt_type: "1",…}
1: {qc_id: "10", qc_ca_id: "1303", qc_opt_num: "2", qc_opt_name: "복도", qc_opt_type: "3",…}
2: {qc_id: "12", qc_ca_id: "1303", qc_opt_num: "3", qc_opt_name: "건물", qc_opt_type: "3",…}
fVal = 1차 : qc_opt_name
/*서브옵션*/
0: {qc_id: "13", qc_ca_id: "1303", qc_opt_num: "11", qc_link_id: "실내", qc_opt_type: "1", qc_opt_value:"방|화장실"…}
1: {qc_id: "14", qc_ca_id: "1303", qc_opt_num: "13", qc_link_id: "건물", qc_opt_type: "2",qc_opt_value:"주차장|출입구"…}
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
1실내
2복도
3건물
1번이 참일 경우 ~ disN
----숨김빼기
----숨김더하기
그래서 서브 값이 안나와요
2번이 참일 경우
---숨김다하기 2
서브가 없기 때문 맞음
3번이 참일경우
----숨김더하기
----숨김빼기
서브 값이 나옵니다.
for 문 조건 하니 이렇에 나오는데 개선 방법이 있나요?