테스트 사이트 - 개발 중인 베타 버전입니다

셀렉트박스(체크, 라디오)를 PHP(ASP, JSP)에서 선택하는 방법

· 18년 전 · 3640 · 1
보통 셀렉트박스를 쓸 때
<select name="aa">
 <option value="aa" <?if($aa = "aa") echo "selected"; ?> >aa
 <option value="bb" <?if($aa = "bb") echo "selected"; ?> >bb
</select>
 
이렇게들 많이 쓰시더라구요
코드도 지저분하고 해서 저는 다르게 씁니다.
 
<select name="aa">
 <option value="aa" >aa
 <option value="bb" >bb
</select>
 
<script language='javascript">
fnChkSelect(폼네임.aa, "<?=aa?>");
</script>
 
이렇게 하면 같은 결과입니다.
 
함수입니다.
 
function fnChkSelect(slt, sltvalue){
 for (i=0; i <= slt.options.length-1;i++){
  if (slt.options[i].value == sltvalue){
    slt.options[i].selected = true;
  }
 }
}
 
function fnChkCheckBox(chx, chxvalue){
 for (i=0; i <= chx.length-1;i++){
  if (chxvalue.indexOf(chx[i].value) >= 0 ){
    chx[i].checked = true;
  }
 }
}
 
function fnChkRadio(rad, radvalue){
 for (i=0; i <= rad.length-1;i++){
  if (rad[i].value == radvalue){
    rad[i].checked = true;
  }
 }
[이 게시물은 관리자님에 의해 2011-10-31 16:57:14 JavaScript에서 이동 됨]

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

<select name="aa" id=aa>
<option value="aa" >aa</option>
<option value="bb" >bb</option>
</select>

<script language="JavaScript" type="Text/JavaScript">
<!--
document.getElementById('aa').value = '<?=$aa?>';
//-->
</script>

이렇게 쓰는게 가장 간단하긴 합니다만..
굳이 php등에서 그렇게 사용하는 것은 예를 들어,
국내 대도시 (광역시, 도) 지역을 배열로 뿌리는 경우처럼 루프문안에서 한번만 체크해주면 더 편하기 때문에 그렇게 사용합니다.
말씀하신 위의 예제처럼 옵션태그에서 각각 php 코드를 입력하는 경우는 아래에서 스크립트로 처리하는게 간단합니다.

게시글 목록

번호 제목
11797
11796
29161
11795
11794
11793
11789
11784
29160
11781
11778
24966
24964
24963
24961
24960
24950
24948
24947
24946
24945
24944
24943
24942
24941
24940
24939
29158
11777
11774
11772
11771
11770
11769
11765
11764
11763
11758
29148
11752
11747
11746
29147
11744
11735
29145
11733
11731
11730
24937
11728
11727
11725
11717
29138
11716
11715
11714
11711
11710
11708
11700
11697
24936
24935
24934
24933
24932
24931
24930
24929
24928
24927
24926
24925
24922
24921
24920
24919
24918
24917
24916
24915
24914
24913
11696
11694
24912
24911
24910
24909
24908
24907
24906
11692
24905
24904
24903
24902
24901