html selectbox 배열에 담긴 값으로 옵션 태그 만들기

munilive
Written by munilive on (Updated: )

html selectbox의 options 들을 추가 할 때 하나하나 입력하면 귀찮다. 반복해서 사용하는 것은 매번 만들기 보다, 함수를 하나 만들어 처리 하면 편하다.

배열에 값과 텍스트를 미리 입력해놓은 상태에서 해당 배열을 호출하면 자동으로 <option>태그로 둘러쌓은 값을 리턴한다. 두번째 인자에 선택된 값을 입력하면 해당 <option>에 자동으로 selected=’selected’를 추가 한다. 마지막 인자는 option에 value 값을 배열의 키값으로 사용할 것인지 값으로 할지를 결정한다. 기본적으로 키를 option value에 삽입한다.

<?
// selectbox 옵션값 가져오기
function getSelectboxOptions($arr, $selected, $is_key=1) {
    $str = "";
    foreach($arr AS $key => $val) {
        $option_value = ($is_key) ? $key : $val;
        $option_text = $val;
        $seled = ($option_value == $selected) ? " selected='selected'" : "";
        $str .= "<option value='{$option_value}'{$seled}>{$option_text}</option>\n";
    }

    return $str;
}

$phone_first = Array("02"=>"서울(02)", "031"=>"경기(031)", "032"=>"인천(032)", "033"=>"강원(033)", "041"=>"경남(041)", "042"=>"대전(042)", "043"=>"충북(043)", "051"=>"부산(051)", "052"=>"울산(052)", "053"=>"대구(053)", ""=>"경북(054)", "055"=>"경남(055)", "061"=>"전남(061)", "062"=>"광주(062)", "063"=>"전북(063)", "064"=>"제주(064)", "070"=>"평생번호(070)");
?>
<select name="phone_first">
<?=getSelectboxOptions($phone_first, "061");?>
</select>

Comments

comments powered by Disqus