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

(编辑:jimmy 日期: 2024/11/15 浏览:2)

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

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; 
} 
} 
}