채택완료

여분필드값에 조건을 걸어 1차 2차 셀렉트 박스 생성

wr2선택값, wr4선택값,wr7선택값으로 했을 때, wr3이 뜨는건 잘 되는데,

Copy
<script>
                        $(function() {
                              $("#wr_3").val("<?php echo $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 == "1" && wr_2 == "1" && wr_4 == "1" && wr_7 == "1") {
                                $('tr.sel1111').show();
                                $('tr.sel1111').siblings("tr.aa").hide();
                            }

else {
                                $('tr.aa').hide();
                            }
                        }
                          <?php if ($w == 'u') { ?>
                          change_action(); // 수정시에는 수동으로 직접 호출
                      <?php } ?>
                    </script>

wr3에 선택값을 1로 했을 시, 2차 select가 뜨게 하려는데 적용이 안되네요 ㅠㅠ

Copy
<?php 
    if ($wr_2=='1'&&$wr_4=='1'&&$wr_7=='1' && wr_3 == '1' ) {         
             echo "
             <h1 style='font-size: 1.3em; padding: 10px 20px; font-family: 'Noto Sans KR', sans-serif;'>차시를 선택해 주세요.</h1>

             <select name='wr_8[]' id='wr_8' class='frm_input sel1111_1_sub sub_sel'>
                    <option value=''>선택</option>
                    <option value='[1차시]'>[1차시]</option>
                    <option value='[2차시]'>[2차시]</option>
            </select>";             
            }
    ?>

글쓰기 페이지이며, 해결방법이 있을까요 ㅠㅠ?

|

답변 2개 / 댓글 5개

채택된 답변
+20 포인트
2021-05-14 (금) 13:05:38

php는 동적 소스호출이 어렵습니다

script로 변경해서 사용하세요

답변에 대한 댓글 2개

안그래도 php문에 있는 부분을 html 태그로 바꾸고

[code]
else if ($wr_3 == "1") {
$('sel1111_1_sub').show();
$('sel1111_1_sub').siblings("tr.aa").hide();
}
[/code]

이렇게 했는데도 안되네요 ㅠㅠ
[code]
$(function() {
$("#wr_3").val("<?php echo $write['wr_3'] ?>");
$("#wr_8").val("<?php echo $write['wr_8'] ?>");
});
$("tr.aa").hide();
$('input[name=wr_1], input[name=wr_2], input[name=wr_4], input[name=wr_7], select[name=wr_3], select[name=wr_8]').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();
var wr_3 = $('select[name=wr_3]:selected').val();

[/code]

스크립트문은 이렇게 수정을 한 상태입니다 ㅠ
2021-05-14 (금) 13:50:56
else if (wr_3 == "1") {
                                $('sel1111_1_sub').show();
                                $('sel1111_1_sub').siblings("tr.aa").hide();
                            }

var wr_3으로 선언했으니 $wr_3 > wr_3으로 변경해보세요

답변에 대한 댓글 3개

안그래도 그렇게 수정을 했는데 안되네요 ㅠㅠ
2021-05-14 (금) 14:05:57
일단 어느부분에서 막히는건지 확인해보세요
alert으로 wr_3값을 찍어서 값은 제대로 넘어왔는지, if문은 정상적으로 실행되는지 등등
<script>

$(function(){
$("tr.tr_sub").hide();
$("#wr_3").change(function() {

if($("#wr_3").val() == "1") {
$('tr.sel1111_1_sub').show();
} else {
$('tr.sel1111_1_sub').hide();
}
});
});

</script>

이렇게 진행을 하긴 했는데... 맞는지모르겠네요 ㅠㅠ ㅎ

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