채택완료

checkbox 문의

Copy
<input type="checkbox" class="tgl tgl-ios" id="wr_54" name="wr_54" value="<?php echo ($write[wr_54] == "exchange") ? 'exchange' : 'buys'; ?>" <?php echo ($write[wr_54] == "exchange") ? 'checked="checked"' : ''; ?>>

Copy
$( "input[name=wr_54]:checkbox").click( function (){

      if ($("input[name=wr_54]:checkbox" ).is( ":checked")){

                $(this).val("exchange");

      } else {

                $(this).val("buys");

}

});

 

wr_54가 체크됐을때는 exchange

체크 안됐을때는 buys 를 넣고 싶은데 체크됐을때는 값이 정상적으로 넘어가는데

체크가 안되어 있으면 값이 안넘어가네요...

 

해결방법 아시는 분 계신가요?

|

답변 2개

채택된 답변
+20 포인트

체크박스 특성입니다. 체크되어 있어야 값이 넘어가죠.

체크되지 않으면 받는 쪽에서 값이 없으니,

처리 방법 다양하지만 그냥 따로 할당해주면 됩니다.

Copy
$wr_54 = isset($wr_54) ? $wr_54 : 'buys'; // $_POST, $_GET, $_REQUEST

// 또는

$wr_54 = $wr_54 ?? 'buys'; // ※ PHP v7.0부터 가능

* Null coalescing operator

- https://www.php.net/manual/en/migration70.new-features.php#migration70.new-features.null-coalesce-op

체크박스가 체크한 것만 값을 넘기는 것인데 체크 안하면 넘어가지 않는 것은 당연합니다

다음과 같이 넣으세요

if(!isset($wr_54) ) $wr_54 = 'buys';

 

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