티스토리 뷰



xe 게시판에서 카테고리를 제목 옆에 해달라는 의뢰가 있었다. 그래서 어떻게 할까 고민 하다가 select onchange 를 사용하면 되겠다 생각하고 사용하려고 했더니 갑자기 생각이 안났다 ㅜ


그래서 검색


select box에서 onchange 함수를 자주 사용하는데 

대략 이렇다. 

<select id="seledtBox" onchange="alert(this.value)">
<option id="0">value1</option>
<option id="0">value1</option>
<option id="0">value1</option>
<option id="0">value1</option>
<option id="0">value1</option>
</select>


이렇게 해놓구 테스트를 해보면 
경고창에는 빈값만 뜨게 되는데 이걸 돌아가게 만들려면 아래와 같이 한다. 

<select id="seledtBox" onchange="alert(this.value)">
<option id="0" value="value1">value1</option>
<option id="1" value="value2">value2</option>
<option id="2" value="value3">value3</option>
<option id="3" value="value4">value4</option>
<option id="4" value="value5">value5</option>
</select>


이경우에는 option의 속성으로 있는 value값이 넘어가게 된다. 
동일하게 다른 함수에서 ID값으로 참조하여 선택되어져 있는 option의 value값을 가져올수 있다. 

var selectValue = document.getElementById('selectBox').value;
alert(selectValue);


요렇게 간단히 불러올 수 있다. 

혹은

<select id="seledtBox" onchange="alert(this.options[this.selectedIndex].text)">
<option id="0">value1</option>
<option id="1">value2</option>
<option id="2">value3</option>
<option id="3">value4</option>
<option id="4">value5</option>
</select>


이 경우에는 <option id="0">value1</option> 에서 진하게 표시한 text부분이 값으로 넘어가게 된다. 

출처: http://godpage.tistory.com/entry/select%EB%B0%95%EC%8A%A4%EC%9D%98-onchange%EC%97%90%EC%84%9C-thisvalue-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

이렇게 되어 있어서 xe 게시판에 적용해 보았다.


<script>
function jsMove(para){
location.href="/index.php?mid=lote9595&category="+para;
}
</script>


<select name="category_srl" cond="$module_info->use_category=='Y'" onchange="javascript:jsMove(this.value)">
<option value="">{$lang->category}</option>
<option loop="$category_list => $val" disabled="disabled"|cond="!$val->grant" value="{$val->category_srl}" selected="selected"|cond="$val->grant&&$val->selected||$val->category_srl==$oDocument->get('category_srl')" >
{str_repeat("&nbsp;&nbsp;",$val->depth)} {$val->title} ({$val->document_count})
</option>
</select>


바로 onchage에 쓰고 싶었는데 잘 안되서 그냥 jsMove라는 함수를 만들어 호출했다.


적용 URL 보기

http://lote9484.com/index.php?mid=lote9595



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함