체크박스 선택시 전부다 첫번째 벨류값만 출력
본문
<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 함수도 용이할듯 합니다
답변을 작성하시기 전에 로그인 해주세요.