체크박스 선택시 전부다 첫번째 벨류값만 출력

체크박스 선택시 전부다 첫번째 벨류값만 출력

QA

체크박스 선택시 전부다 첫번째 벨류값만 출력

답변 2

본문


<tr>
                <th scope="row">학년선택</th>
                <td>
                <label><input type="checkbox" name="wr_2[]" value="1" <? if($write['wr_2'] == "1"){ echo 'checked'; } ?> class="wr_2"> 1</label>
                <label><input type="checkbox" name="wr_2[]" value="2" <? if($write['wr_2'] == "2"){ echo 'checked'; } ?> class="wr_2"> 2</label>
                <label><input type="checkbox" name="wr_2[]" value="3" <? if($write['wr_2'] == "3"){ echo 'checked'; } ?> class="wr_2"> 3</label>
                <label><input type="checkbox" name="wr_2[]" value="4" <? if($write['wr_2'] == "4"){ echo 'checked'; } ?> class="wr_2"> 4</label>
                <label><input type="checkbox" name="wr_2[]" value="5" <? if($write['wr_2'] == "5"){ echo 'checked'; } ?> class="wr_2"> 5</label>
                <label><input type="checkbox" name="wr_2[]" value="6" <? if($write['wr_2'] == "6"){ echo 'checked'; } ?> class="wr_2"> 6</label>
                
                
                <script>
                    var str_wr_2 = "<?=@$write['wr_2']?>";
                    $("input:checkbox[name='wr_2[]']").each(function(index){
                        if(str_wr_2.indexOf($(this).val()) > -1){
                            $(this).attr("checked", true);
                        }
                    });
                </script>
            </td>
        </tr>

 

체크박스를 구성했는데, 뭘선택해도 첫번째값만 호출하는 이유가 따로 있을까요.....?

 

배열문은 이렇게 진행하였습니다.


<?
$wr_2 = @implode("|", $_POST['wr_2']);
 
$sql = " update $g5[write_prefix]$bo_table set wr_2 = '$wr_2' where wr_id = '$wr_id' ";
sql_query($sql);
?>

이 질문에 댓글 쓰기 :

답변 2

wr_2값을 받는 부분에 데이터가 어떻게 전달되는지 확인해 보셔야 할듯 합니다.

 

$write['wr_2'] 값의 처리가 지금 | 이걸 포함해서 들어가 있기에 그런건데

strpos 함수로 해당값이 존재하는지로 체크하셔야 할듯 합니다.

 

예를 들어 if(strpos($write['wr_2'],"1")!==false) 이런식으로 넣어 체크를 해보세요

 

strpos함수도 있지만 배열체크시 in_array 함수도 용이할듯 합니다

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 9
© SIRSOFT
현재 페이지 제일 처음으로