jsp 에서 두 상자 의 내용 교환 은 추가 할 수도 있 고 제거 할 수도 있 습 니 다.

2309 단어 교환 하 다
프로젝트 에서 다음 과 같은 효과 내용 을 실현 해 야 한다.그림:

구체 적 으로 실 현 된 소스 코드 는 다음 과 같다.
두 상자 의 페이지 원본 코드:

    :<br /> <select multiple="multiple" name="roleIds" size="10" id="roleIds"> 

<option value="1"> 
   
</option> 
<option value="2"> 
   
</option><option value="3"> 
   
</option><option value="4"> 
   
</option><option value="5"> 
   
</option> 
</select> 

<input type="button" value="<<-  " 

onclick="moveOptions(document.getElementById('roleList'),document.getElementById('roleIds'));" /> 

<input type="button" value="  ->>" 
class="btn1" 
onclick="moveOptions(document.getElementById('roleIds'),document.getElementById('roleList'));" /> 
<br/> 
    :<br /> <select multiple="multiple" size="10" 
id="roleList"> 

<option value="6"> 
   1 
</option><option value="7"> 
   2 
</option><option value="8"> 
   3 
</option><option value="9"> 
   4 
</option><option value="10"> 
   5 
</option><option value="11"> 
   6 
</option> 

</select>
실 현 된 js 코드:

function moveOptions(oSource, oTarget) { 
while (oSource.selectedIndex > -1) { 
var opt = oSource.options[oSource.selectedIndex]; 
oSource.removeChild(opt); 
var mark = true; 
for(var i = 0; i < oTarget.options.length; i++){ 
if(opt.value == oTarget.options[i].value){ 
mark = false; 
} 
} 
if(mark){ 
var newOpt = document.createElement("OPTION"); 
oTarget.appendChild(newOpt); 
newOpt.value = opt.value; 
newOpt.text = opt.text; 
newOpt.selected = true; 
} 
} 
}

좋은 웹페이지 즐겨찾기