jsp中两个框中内容互换可以添加也可以移除

网络编程 2021-07-05 11:23www.168986.cn编程入门
这篇文章主要介绍了jsp中两个框中内容互换的具体实现,就是可以添加也可以移除,详细代码如下

在项目中需要实现如下的效果内容。如图

具体实现的源码如下

两个框的页面源码

已选角色<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; 
} 
} 
}

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by