글 수정 시, show hide 초기화가 되는데, 그대로 값 불러오게끔 하려 합니다.
본문
<script>
$(function(){$("#wr_3").val("<?=$write['wr_3[]']?>");});
$("tr.aa").hide();
$('input[name=wr_1], input[name=wr_2], input[name=wr_4], input[name=wr_7], select[name=wr_3]').on('change', function() {
var wr_1 = $('input[name=wr_1]:checked').val();
var wr_2 = $('input[name=wr_2]:checked').val();
var wr_4 = $('input[name=wr_4]:checked').val();
var wr_7 = $('input[name=wr_7]:checked').val();
if (wr_1 == "a1" && wr_2 == "s1" && wr_4 == "d1" && wr_7 == "f1") {
$('tr.sel1111').show();
$('tr.sel1111').siblings("tr.aa").hide();
}
else if (wr_1 == "a1" && wr_2 == "s1" && wr_4 == "d1" && wr_7 == "f2") {
$('tr.sel1112').show();
$('tr.sel1112').siblings("tr.aa").hide();
}
else {
$('tr.aa').hide();
}
});
</script>
write.skin.php에 이 스크립트를 써서 사용하고 있는 상태인데, 글 수정 시 4개의 라디오버튼 선택이 충족 되어있는데, show가 되어있지 않습니다. ㅠㅠ
근데, 라디오버튼 선택을 다른것으로 선택하고 다시 충족하게되면 show가 되어지는데, 글 수정 시, get으로 값을 가져와서 충족이 되어있는 상태이면 show를 하고싶은데, 코드상에 문제가 있을까요?
!-->답변 1
.on('change', functionI() ~
은 라디오 버튼 또는 체크박스의 값이 (유저 액션에 의해) 변경되는 이벤트가 발생했을 때만 실행됩니다.
수정화면에서는.. 유저액션 없이 페이지가 로드될 때 수행해주어야 되기 때문에..
해당 부분을 수동으로 호출해주면 됩니다.
<script>
$(function(){$("#wr_3").val("<?=$write['wr_3[]']?>");});
$("tr.aa").hide();
$('input[name=wr_1], input[name=wr_2], input[name=wr_4], input[name=wr_7], select[name=wr_3]').on('change', function() {
change_action(); // 별도 함수화 처리
});
function change_action() {
var wr_1 = $('input[name=wr_1]:checked').val();
var wr_2 = $('input[name=wr_2]:checked').val();
var wr_4 = $('input[name=wr_4]:checked').val();
var wr_7 = $('input[name=wr_7]:checked').val();
if (wr_1 == "a1" && wr_2 == "s1" && wr_4 == "d1" && wr_7 == "f1") {
$('tr.sel1111').show();
$('tr.sel1111').siblings("tr.aa").hide();
}
else if (wr_1 == "a1" && wr_2 == "s1" && wr_4 == "d1" && wr_7 == "f2") {
$('tr.sel1112').show();
$('tr.sel1112').siblings("tr.aa").hide();
}
else {
$('tr.aa').hide();
}
}
<?php if ($w == 'u') { ?>
change_action(); // 수정시에는 수동으로 직접 호출
<?php } ?>
</script>
답변을 작성하시기 전에 로그인 해주세요.