본문 바로가기

개발참고자료

select option값 여러개 주기

반응형
   <select name="test" id="idTest" >          
        <option value="a,b,c">
   </select>

//scipt상에서
var test = document.getElementById("idTest").value.split(",");

for (var idx=0; idx < test .length; idx++){
       var objElement = test [idx];
     if(idx == 0){
         var aa= objElement;
     }else if(idx == 1){
        var bb= objElement;  
    }else{
        var cc= objElement;
   }
 }
document.getElementById("aa").value = aa;
...................

그냥 전 익숙한 for문과 if문을 사용했습니다. 각자 편한걸로 사용하면 될듯~
이렇게 얻은 값을 input타입에 셋팅해서 control단이나 biz단으로 넘기면 됩니다.

웹표준과 상관없으시면 그냥 input type value로 그냥 다 주시고
selected된 index 순서 찾아서 i값으로 찾으셔도 됩니다.

변수, 함수는 대충 쓰겠습니다.;;;;
for(int i=0; i<4;i++){
 <input type="hidden" name ="a"  id="idA" value="<%=a.get('aa',i)%> /> 
}
요렇게 돌아가겠죠 a에는 차곡차곡 값들이 쌓여있을테구요

for문과 select문이 매칭이 된다는 전체하에
스크립트상에서
var index=frm.test.selectedIndex;  //selected된 순서찾고
 //1개이상일때 선택된 순서의 값 가져오기
      document.getElementById("aa").value = frm.a[index].value;
//1개일때
      document.getElementById("aa").value = frm.a.value;

둘다 귀찮다면~~~~~~~~~~
두개를 짬뽕하면 됩니다.
짬뽕 방법!!!
for(int i=0; i<4;i++){
 <input type="hidden" name ="a"  id="idA<%=i%>" value="<%=a.get('aa',i)%> /> 
}
이렇게 그냥 쓰고요<%=i%>" 는 웹표준사용시 id중복하면 안되므로 쓸려면 쓰세요~
스크립트상에서
 var test = document.getElementsByName("test");
 var index=frm.test.selectedIndex;  //selected된 순서찾고
  document.getElementById("aa").value = frm.a[index].value;

이렇게 쓸수도 있습니다.
다 결과는 똑같죠!!
제일 본인에게 편한 방법을 쓰면 되실듯~~~





반응형