메뉴 건너뛰기

조회 수 1376 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

HTML의 selectbox에는 multiple이라는 값이 있다.

<select name="test" id="test" multiple="multiple">
<option value=1> 1 </option>
</select>

위와같이 쓰는 방식으로 사용시에는 selectbox의 option항목들이 모두 표시되게 된다.

그리고 이 옵션을 줄경우 option항목들을 다중 선택할수 있게 된다.

하지만 다중선택한후에 submit를 하여도 넘어가는 값은 1개이다. (보통 맨 마지막 선택값이 넘어간다.)
그럴때 선택한 항목 모두의 값을 submit 해주기 위해서는 아래와 같이 selectbox의 이름을 배열로 잡아주면 된다.

<form method="post" name="multi_select" action="">
<select name="test[]" id="test" multiple="multiple">
<option value=1> 1 </option>
<option value=2> 2 </option>
<option value=3> 3 </option>
<option value=4> 4 </option>
<option value=5> 5 </option>
</select>
<input type="submit" value="다중선택넘기기">
</form>

<pre>
<?php 
print_r("$_POST"); 
?>
</pre>

위와 같은 코드를 작성후에 3,4,5를 선택하고 "다중선택넘기기"를 누르면 상단에

 
[test] => Array 
( 
	[0] => 3 
	[1] => 4 
	[2] => 5 
)

와 같이 표시가 될것이다.
배열로 모든 값들이 전부 넘어온 것이다.
그리고 해당 값은 위에서 보다시피 php에서는 $test라는 배열로 사용해서 값을 처리해주면 된다.

그리고 이 다중배열의 선택을 javascript로 할경우에는 jquery의 다음과 같은 방식을 이용하면 된다.

<select name="test[]" id="test" multiple="multiple" onChange="sel();" >
<option value=1> 1 </option>
<option value=2> 2 </option>
<option value=3> 3 </option>
<option value=4> 4 </option>
<option value=5> 5 </option>
</select>

<script language=javascript> 
function sel()
{
 for( var i=0; i<$('#test option').size(); i++)
  if( $("#test option:eq("+i+")").attr("selected") ) //선택된 값찾기
   alert($("#test option:eq("+i+")").val()); //선택된 값 출력
}
</script>

자신이 선택한 값들을 출력해주는 것이다.
응용은 알아서 하길 바란다.


List of Articles
번호 제목 날짜 조회 수
179 .attr() : 태그의 속성 값을 읽어오거나 속성을 추가및 재설정 2019.01.16 962
178 .removeAttr() : 특정 속성을 제거 2019.01.16 1021
177 //ex)텍스트 박스 포커스 활성, 비활성 이벤트 2019.06.04 812
176 3D Perspective Carousel with jQuery and CSS3 - CSSSlider 2018.11.07 1388
175 ajax 동기화 처리하기 2021.03.25 416
174 ajax 아작스 통신 2016.09.09 8046
173 Ajax 파일 업로드 샘플 코드 2017.03.11 7791
172 Ajax를 이용한 데이터 조회시 로딩 로딩 이미지 보이기(jquery이용) file 2016.12.22 10746
171 Ajax를 통해 전송된 데이터를 Controller에서 List 객체로 받기 2021.03.25 12264
170 attr() - style의 특정 속성만 바꾸기 2021.03.26 1131
169 before / after / insertBefore / insertAfter - element 추가 (동등 관계) 2021.03.31 168
168 bxslider 멈춤현상 2016.12.22 10116
167 Cesium에서 canvas 화면 center 지점의 좌표 취득 2021.03.25 374
166 change 전의 값을 가져오기 2021.03.26 259
165 click event scroll 2021.03.31 827
164 click에 따른 마우스 휠 on off 2021.03.31 305
163 CSS로 요소에 대한 클릭 등 이벤트 발생을 막고 싶을 때 2021.03.25 208
162 datepicker, onclick 이벤트시에 한번에 뜨게 하기 2021.03.26 1468
161 DateTimepicker ( Timepicker + Datepicker ) file 2021.03.26 792
160 document.getElementById() 처럼 DOM 객체 얻기 2016.09.21 6810
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved