jquery以及js實現option左移右移
阿新 • • 發佈:2019-02-17
[html]
view plain
copy
print?
第二種方法: [javascript] view plain copy print?
- <tablecellspacing="1"width="350px"align="center">
- <tr>
- <td>
- <tablestyle="background-color:white"width="100%">
- <tr>
- <td>
- <
- <legend>稽核人員</legend>
- <selectname="left_select"multiple="multiple"size="10"id="left_select"style="width : 152px">
- </select>
- </fieldset
- </td>
- <td>
- <inputtype="button"value="<"style="font-size:10pt;width:35px"onclick="left()"><br>
- <inputtype="button"value="<<"style="font-size:10pt;width:35px"
- <inputtype="button"value=">"style="font-size:10pt;width:35px"onclick="right()"><br>
- <inputtype="button"value=">>"style="font-size:10pt;width:35px"onclick="right(true)"><br>
- </td>
- <td>
- <fieldset>
- <legend>系統人員</legend>
- <selectname="right_select"multiple="multiple"style="width : 152px"size="10"id="right_select">
- <optionvalue="zhangsan">zhangsan</option>
- <optionvalue="lisi">lisi</option>
- <optionvalue="lisi">lisi</option>
- <optionvalue="wangwu">wangwu</option>
- </select>
- </fieldset>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
<table cellspacing="1" width="350px" align="center">
<tr>
<td>
<table style="background-color:white" width="100%">
<tr>
<td>
<fieldset>
<legend>稽核人員</legend>
<select name="left_select" multiple="multiple" size="10" id="left_select" style="width : 152px">
</select>
</fieldset>
</td>
<td>
<input type="button" value="<" style="font-size:10pt;width:35px" onclick="left()"><br>
<input type="button" value="<<" style="font-size:10pt;width:35px" onclick="left(true)"><br>
<input type="button" value=">" style="font-size:10pt;width:35px" onclick="right()"><br>
<input type="button" value=">>" style="font-size:10pt;width:35px" onclick="right(true)"><br>
</td>
<td>
<fieldset>
<legend>系統人員</legend>
<select name="right_select" multiple="multiple" style="width : 152px" size="10" id="right_select">
<option value="zhangsan">zhangsan</option>
<option value="lisi">lisi</option>
<option value="lisi">lisi</option>
<option value="wangwu">wangwu</option>
</select>
</fieldset>
</td>
</tr>
</table>
</td>
</tr>
</table>
介面如下圖
首先jquery第一種方法:
[javascript] view plain copy print?- //isAll 是否全部移動
- function left(isAll){
- var os = new Array();
- os = $("#right_select").find("option");
- for(i=0;i<os.length;i++){
- if(isAll){
- var o = new Option(os[i].text,os[i].value);
- $("#left_select").append(o);
- $("#right_select").find("option").remove();
- // == $("#right_select").empty();
- }else{
- if(os[i].selected){
- var o = new Option(os[i].text,os[i].value);
- $("#left_select").append(o);
- $("#right_select").find("option:selected").remove();
- }
- }
- }
- }
- function right(isAll){
- var os = new Array();
- os = $("#left_select").find("option");
- for(i=0;i<os.length;i++){
- if(isAll){
- var o = new Option(os[i].text,os[i].value);
- $("#right_select").append(o);
- $("#left_select").find("option").remove();
- // == $("#left_select").empty();
- }else{
- if(os[i].selected){
- var o = new Option(os[i].text,os[i].value);
- $("#right_select").append(o);
- $("#left_select").find("option:selected").remove();
- }
- }
- }
- }
//isAll 是否全部移動
function left(isAll){
var os = new Array();
os = $("#right_select").find("option");
for(i=0;i<os.length;i++){
if(isAll){
var o = new Option(os[i].text,os[i].value);
$("#left_select").append(o);
$("#right_select").find("option").remove();
// == $("#right_select").empty();
}else{
if(os[i].selected){
var o = new Option(os[i].text,os[i].value);
$("#left_select").append(o);
$("#right_select").find("option:selected").remove();
}
}
}
}
function right(isAll){
var os = new Array();
os = $("#left_select").find("option");
for(i=0;i<os.length;i++){
if(isAll){
var o = new Option(os[i].text,os[i].value);
$("#right_select").append(o);
$("#left_select").find("option").remove();
// == $("#left_select").empty();
}else{
if(os[i].selected){
var o = new Option(os[i].text,os[i].value);
$("#right_select").append(o);
$("#left_select").find("option:selected").remove();
}
}
}
}
第二種方法: [javascript] view plain copy print?
- /**
- * 此方法 移動的時候會自動刪除 不用手動去 remove
- * 但移走的選項會預設選中 無法取消,程式碼雖少,效果但不如第一種
- */
- function left(isAll){
- var os = new Array();
- os = $("#right_select").find("option");
- for(i=0;i<os.length;i++){
- if(isAll){
- $("#left_select").append(os[i]);
- }else{
- if(os[i].selected){
- $("#left_select").append(os[i]);
- }
- }
- }
- }
- function right(isAll){
- var os = new Array();
- os = $("#left_select").find("option");
- for(i=0;i<os.length;i++){
- if(isAll){
- $("#right_select").append(os[i]);
- }else{
- if(os[i].selected){
- $("#right_select").append(os[i]);
- }
- }
- }
- }
/**
* 此方法 移動的時候會自動刪除 不用手動去 remove
* 但移走的選項會預設選中 無法取消,程式碼雖少,效果但不如第一種
*/
function left(isAll){
var os = new Array();
os = $("#right_select").find("option");
for(i=0;i<os.length;i++){
if(isAll){
$("#left_select").append(os[i]);
}else{
if(os[i].selected){
$("#left_select").append(os[i]);
}
}
}
}
function right(isAll){
var os = new Array();
os = $("#left_select").find("option");
for(i=0;i<os.length;i++){
if(isAll){
$("#right_select").append(os[i]);
}else{
if(os[i].selected){
$("#right_select").append(os[i]);
}
}
}
}
JS實現如下:
[javascript] view plain copy print?- function left(isAll)
- {
- var os=new Array();
- os=document.getElementById("right_select").options;
- for(i=0;i<os.length;i++){
- if(isAll){
- var o=new Option(os[i].text,os[i].value);
- document.getElementById("left_select").add(o);
- document.getElementById("right_select").remove(i);
- i--;
- }else{
- if(os[i].selected){
- var o=new Option(os[i].text,os[i].value);
- document.getElementById("left_select").add(o);
- document.getElementById("right_select").remove(i);
- i--;
- }
- }
- }
- }
- function right(isAll)
- {
- var os=new Array();
- os=document.getElementById("left_select").options;
- for(i=0;i<os.length;i++){
- if(isAll){
- var o=new Option(os[i].text,os[i].value);
- document.getElementById("right_select").add(o);
- document.getElementById("left_select").remove(i);
- i--;
- }else{
- if(os[i].selected){
- var o=new Option(os[i].text,os[i].value);
- document.getElementById("right_select").add(o);
- document.getElementById("left_select").remove(i);
- i--;
- }
- }
- }
- }