`
mw666666
  • 浏览: 23906 次
  • 性别: Icon_minigender_1
  • 来自: 保定
社区版块
存档分类
最新评论

JS控制Option实例(增加、删除,上下移动)

    博客分类:
  • js
阅读更多
转自:http://blog.csdn.net/kuangmiao1120/archive/2009/11/10/4793887.aspx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="UTF-8">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="UTF-8" />
<meta http-equiv="expires" content="0">
<meta name="author" content="Jaffe(onlea.com)" />
<meta http-equiv="keywords" content="JS,Option,增加,删除,上下移动,onlea,绿野飞扬">
<meta http-equiv="description" content="JS控制Option实例(增加、删除,上下移动">

    <title>JS控制Option实例(增加、删除,上下移动) - 绿野飞扬</title>
    
<style type=text/css>
<!--
body,div,td,input,legend {
font-size:12px;
color:#47391f;
font-family:Tahoma,Arial,sans-serif,宋体
}
fieldset,form{
    margin:0;
}
a{
    color:#66aa66;
text-decoration:none;
}
a:hover{
    color:#99aa66
}

#container{
    text-align:center;
}
#divBody,#divFooter{
    text-align:center;
    width:400px;
    margin:10px auto;
}
#divFooter{
    color:#999;
}

-->
</style>
</head>

<body>
    <div id="container">
      <div id="divBody">
                <form action="">                    
                    <fieldset>
                        <legend>JS控制Option实例(增加、删除,上下移动)</legend>
                        <div style="margin:15px auto;">
                       <table align="center">
                         <tr>
                           <td>
                             <div><b>Item Properties</b></div>
                             <select size="15" id="selectleft" style="width:150px">                                 
                         <option value="1">Properties 1</option>
                         <option value="2">Properties 2</option>
                         <option value="3">Properties 3</option>
                         <option value="4">Properties 4</option>
                         <option value="5">Properties 5</option>
                         <option value="6">Properties 6</option>
                         <option value="7">Properties 7</option>
                         <option value="8">Properties 8</option>                                   
                             </select>
                           </td>
                           <td valign="middle" align="center">
                             <input value=" 增加 " type="button" id="addto" /><br />
                             <input value=" 删除 " type="button" id="moveback" /><br /><br />

                             <input value=" 顶部 " type="button" id="moveTop" /><br />
                             <input value=" 上移 " type="button" id="moveUp"><br />
                             <input value=" 下移 " type="button" id="moveDown"><br />
                             <input value=" 底部 " type="button" id="moveBottom" /><br />
                           </td>
                           <td>
                             <div><b>Properties You Chosen</b></div>
                             <select size="15" id="selectright" style="width:150px">
                             </select>
                           </td>
                         </tr>
                       </table>
                        </div>
                    </fieldset>
                </form>
      </div>

<script type="text/javascript">
<!--

var selectLeft = document.getElementById("selectleft");
var selectRight = document.getElementById("selectright");

var addTo = document.getElementById("addto");
var moveBack = document.getElementById("moveback");
var moveTop = document.getElementById("moveTop");
var moveUp = document.getElementById("moveUp");
var moveDown = document.getElementById("moveDown");
var moveBottom = document.getElementById("moveBottom");

addTo.onclick = addOption;
moveBack.onclick = delOption;
moveTop.onclick = mTop;
moveUp.onclick = mUp;
moveDown.onclick = mDown;
moveBottom.onclick = mBottom;

//这个函数检验传入的值是否在有边出现过!
function hasOption(str){
    for(var i=0;i<selectRight.options.length;i++){
        if(selectRight.options[i].value==str){
        return false;
        }
    }
    return true;
}

function addOption(){
    var nowIndex    = selectRight.options.length;                  //右边的下一个索引
    var selectIndex = selectLeft.options.selectedIndex;         //左边被选种项索引
    
    if(selectIndex != -1){//如果选了一项,执行
        var selectText = selectLeft.options[selectIndex].text;      //被选种项文本
        var selectValue = selectLeft.options[selectIndex].value;   //被选种项值
     if(hasOption(selectValue)){//如果选中的项目右边没有,执行
            var newoption   = new Option(selectText,selectValue,false,false);
            selectRight.options[nowIndex] = newoption;
     }else{
         alert("该选项已经存在于右边列表中");       
   }
    }else{
     alert("请从左边列表中选择一个选项"); 
}
}

function delOption(){
    var selectIndex = selectRight.options.selectedIndex;
    if(selectIndex!=-1){
    selectRight.options[selectIndex] = null;                   //清空选种项
    }
}

function mTop(){   
    var i = selectRight.options.selectedIndex;
    if(i > 0){   
        Temp_Text=selectRight.options(i).text;   
        Temp_ID=selectRight.options(i).value;   
        for(j=i;j>0;j--){   
            selectRight.options(j).text=selectRight.options(j-1).text;   
            selectRight.options(j).value=selectRight.options(j-1).value;   
        }   
        selectRight.options(0).value=Temp_ID;   
        selectRight.options(0).text=Temp_Text;       
        selectRight.selectedIndex=0;   
    }   
}   
    
function mUp(){   
    var i = selectRight.options.selectedIndex;   
    var j = i-1   
    if(i>0){   
        Temp_Text = selectRight.options(j).text;   
        Temp_ID = selectRight.options(j).value;   
    
        selectRight.options(j).text = selectRight.options(i).text;   
        selectRight.options(j).value = selectRight.options(i).value;   
    
        selectRight.options(i).text = Temp_Text;   
        selectRight.options(i).value = Temp_ID;   
    
        selectRight.selectedIndex=j;   
    }   
}   
    
function mDown(){   
    var i = selectRight.options.selectedIndex;
    if (i != selectRight.length-1){   
        var j = i+1;   
        if(i < selectRight.length){   
            Temp_Text = selectRight.options(j).text;   
            Temp_ID = selectRight.options(j).value;   
    
            selectRight.options(j).text = selectRight.options(i).text;   
            selectRight.options(j).value = selectRight.options(i).value;   
    
            selectRight.options(i).text = Temp_Text;   
            selectRight.options(i).value = Temp_ID;   
    
            selectRight.selectedIndex=j;   
        }   
    }   
}   
    
function mBottom(){   
    var i = selectRight.selectedIndex;   
    var j = selectRight.length-1   
    if(i < j){   
        Temp_Text = selectRight.options(i).text;   
        Temp_ID = selectRight.options(i).value;   
        for(var k=i+1;k<=j;k++){   
            selectRight.options(k-1).text=selectRight.options(k).text;   
            selectRight.options(k-1).value=selectRight.options(k).value;   
        }   
    
        selectRight.options(j).text=Temp_Text;   
        selectRight.options(j).value=Temp_ID;   
    
        selectRight.selectedIndex=j;   
    }   
}   
//-->
</script>
     
    </div>
</body>
</html>






js动态添加、删除select的option
<select id="ddlResourceType" onchange="getvalue(this)"> 
</select> 

   动态删除select中的所有options: 
      document.getElementById("ddlResourceType").options.length=0; 

    动态删除select中的某一项option: 
      document.getElementById("ddlResourceType").options.remove(indx);  

    动态添加select中的项option: 
      document.getElementById("ddlResourceType").options.add(new Option(text,value));
分享到:
评论

相关推荐

    javascript 删除select中的所有option的实例

    本文将详细介绍如何使用JavaScript删除select元素中的所有option标签,并给出几种不同的实现方法。在Web开发过程中,经常需要动态地对select元素进行操作,例如清除已有选项,以适应不同的应用场景。正确地删除...

    videoJs实例

    &lt;video id="myPlayer" class="video-js" data-setup='{"plugins": {"myPlugin": { "option1": "value1", "option2": "value2" }}}'&gt; ``` ### 7. 性能优化与响应式设计 `video.js`支持响应式布局,可以根据屏幕尺寸...

    JS控制下拉列表左右选择实例代码

    在本文中,我们将深入探讨如何使用JavaScript(JS)来实现一个功能,即控制下拉列表中的左右选择。这个功能在很多场景中都很有用,比如在分类管理中编辑商品信息时,用户可以方便地将商品从一个分类移动到另一个。...

    省市区js三级联动html实例简单易懂

    总结来说,“省市区js三级联动html实例简单易懂”是一个实用的学习资源,它涵盖了网页动态交互、数据获取和DOM操作等多个JavaScript开发的关键知识点。通过学习和实践这个实例,开发者可以提升自己的前端技能,并为...

    JavaScript实现下拉列表框数据增加、删除、上下排序的方法

    本文实例讲述了JavaScript实现下拉列表框数据增加、删除、上下排序的方法。分享给大家供大家参考。具体如下: 这里实现在一个支持多选的下拉列表框内进行数据项的添加、删除、向上、向下移动操作,我们在一些人才...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例038 动态输出JavaScript代码 69 实例039 当数字遇到了字符串 70 实例040 PHP程序员的基础——变量的应用 72 实例041 打印系统环境变量信息print_r($_ENV) 73 实例042 使用可变变量输出“I Like PHP!” 73 实例...

    JS实现单击输入框弹出选择框效果完整实例

    这个实例展示了如何利用JavaScript实现输入框和选择框之间的互动,使得用户在输入时可以方便地从一组预设选项中选取,同时将所选内容显示在输入框中。这样的设计常见于各种表单和搜索功能,提高了用户在网页上的操作...

    基于javascript实现单选及多选的向右和向左移动实例

    本文实例讲述了基于javascript实现单选及多选的向右和向左移动实例。分享给大家供大家参考。具体实现方法如下: 方法 一: &lt;body&gt; 实现单选及多选的向右和向左移动 &lt;select id=lselect size=10 ...

    ListBox实现上移,下移,左移,右移的简单实例

    如果要实现上下左右移动,我们可以扩展这个函数,增加相应的逻辑处理。 - **上移**:如果用户希望将列表中的选项上移,我们需要检查所选选项是否位于列表顶部。如果不是,我们可以先删除该选项,然后在列表的前面...

    Javascript-三级下拉菜单的级联显示实例

    JavaScript三级下拉菜单的实现基于DOM(Document Object Model)操作,通过监听事件(如鼠标悬停或点击)来控制下拉菜单的显示和隐藏。通常,我们会有三个层次的`&lt;select&gt;`元素,每个层级的`&lt;option&gt;`元素会关联到下...

    echartsmapgeo跟随缩放移动.pdf

    《ECharts地图组件的缩放与移动同步》 ECharts是一款优秀的开源JavaScript数据可视化库,它提供了丰富的图表类型,能够帮助开发者轻松实现各种复杂的数据展示。在ECharts中,地图(Map)是一个重要的组成部分,可以...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例038 动态输出JavaScript代码 69 实例039 当数字遇到了字符串 70 实例040 PHP程序员的基础——变量的应用 72 实例041 打印系统环境变量信息print_r($_ENV) 73 实例042 使用可变变量输出“I Like PHP!” 73 实例...

    基于javascript实现listbox左右移动

    本文实例讲解了javascript实现listbox左右移动的详细代码,分享给大家供大家参考,具体内容如下 效果图: 具体代码: &lt;html&gt; &lt;head&gt; &lt;meta http-equiv=Content-Type content=text/html; charset=gb...

    HTML网络编程实例

    10. 实例分析:通过具体的编程实例,您可以更直观地了解如何将这些概念应用到实际项目中,例如创建一个简单的登录表单、动态展示图片或者构建一个响应式的导航栏。 这个“HTML网络编程实例”资源将带领您逐步掌握...

    echarts+百度地图实现个人轨迹-点随线顺序移动

    在本文中,我们将深入探讨如何使用ECharts与百度地图结合,来实现个人轨迹的动态展示,其中亮点是点随线顺序移动的效果。ECharts是一款基于JavaScript的数据可视化库,而百度地图则是国内广泛应用的地图服务提供商。...

    大屏展示 echart 实例

    ECharts是一款由百度开发的,基于JavaScript的数据可视化库,它提供了丰富的图表类型,精美的图表设计,便捷的交互操作,广泛应用于各种数据展示场景,包括但不限于网页、移动应用以及大屏展示。大屏展示通常指的是...

    Bootstrap-selectpicker多选框的简单实例

    Bootstrap是一个流行的前端开发框架,由Twitter开发,用于构建响应式布局和移动设备优先的Web应用程序。Bootstrap-selectpicker是Bootstrap框架的一个扩展插件,它为原生的HTML选择器提供了更美观、可定制化的选择器...

Global site tag (gtag.js) - Google Analytics