채택완료

라디오체크 저장후 수정시 선택값 유지

2018-04-05 (목) 12:08:45 3,489

아래와 같이 wr_6에 선택값을 저장하고 다시 수정페이지 불러왔을때 

.tab {
  display: none;
}

이것을 빼면 해당필드 값에 따라 필요한 부분만 보여지는데

문제는 클릭시 스크립트가 작동이 안되고 

또 역으로

.tab {
  display: none;
}

를 넣으면 

tab들이 안보이고 그럽니다. 

좋은방법 없을까요?

Copy
<script>
$(function(){
  $(':radio[name="wr_6"]').click(function(){
    $('div.tab').removeClass('active');
    $('#' + $(this).data('tab')).addClass('active');
  });
});
</script>

 

<style>
.tab {
  display: none;
}

.tab.active {
  display: block;
}
</style>

 

 

 

<!--라디오버튼-->

<label for="ckbox1">항목01</label>
<input type="radio" name="wr_6" id="ckbox1" value="1" data-tab="tab01" <?php echo ($write['wr_6'] == "1") ? "checked" : "";?>><br>

<label for="ckbox2">항목02 </label>
<input type="radio" name="wr_6" id="ckbox2" value="2" data-tab="tab02" <?php echo ($write['wr_6'] == "2") ? "checked" : "";?>><br>

<label for="ckbox3">항목03</label>
<input type="radio" name="wr_6" id="ckbox3" value="3" data-tab="tab03" <?php echo ($write['wr_6'] == "3") ? "checked" : "";?>>

 

 

 

<!--보여질내용-->

<?php if ($write[wr_6] == "1") { ?>
<div id="tab01" class="tab">항목01번을선택하였습니다</div>
<? } ?>
<?php if ($write[wr_6] == "2") { ?>
<div id="tab02" class="tab">항목02번을선택하였습니다</div>
<? } ?>
<?php if ($write[wr_6] == "3") { ?>
<div id="tab03" class="tab">항목03번을선택하였습니다</div>
<? } ?>
|

답변 1개 / 댓글 2개

채택된 답변
+20 포인트

이렇게 수정해보세요

Copy
<!--보여질내용-->
<div id="tab01" <?php if ($write[wr_6] != "1") { ?>class="tab"<? } ?>>항목01번을선택하였습니다</div>
<div id="tab02" <?php if ($write[wr_6] != "2") { ?>class="tab"<? } ?>>항목02번을선택하였습니다</div>
<div id="tab03" <?php if ($write[wr_6] != "3") { ?>class="tab"<? } ?>>항목03번을선택하였습니다</div>

답변에 대한 댓글 2개

2018-04-08 (일) 22:23:58
아 값에 따라 class를 넣고 안넣고 그러는거군요. 한수 제대로 배웠습니다. 감사합니다 ^^
클릭 할때 해당 id 가 있어야 class 를 줄수 있는데, 없어서 오류가 나는 겁니다.

답변을 작성하려면 로그인이 필요합니다.