zoukankan      html  css  js  c++  java
  • 获取和修改HTML文档中select元素的选中项

    获取select元素的选中项:

    在HTML页面中,有时候会获取当前select元素中所选中的那个值和显示值。下面是一个例子:
    <tr>
    <th scope="row" width="15%" nowrap >*目标字段</th>
    <td><select name="idMbzd" style="25%" onchang=”on_idmbzd_change();”>
    <option value=”1”>eg1</option>
    <option value=”2”>eg2</option>
    <option value=”3”>eg2</option>
    </select>
    </td>
    </tr>
    <script>
    function on_idmbzd_change(){
    var sel_obj = document.getElementByIdx("idMbzd ");
    var index = sel_obj.selectedIndex;
    alert(sel_obj.options[index].value);
    alert(sel_obj.options[index].text);
    }
    </script>
    在这里,关键用到select对象的selectedIndex属性。表示被选中那个元素的索引,从0开始
    当然也可以遍历select元素的所有值。如下:
    <script>
    var len = sel_obj.options.length;
    for(i = 0 ;i<len ;i++){
    var value = sel_obj.options[i].value;
    var view_value = sel_obj.options[i].text
    }
    </script>
    也多说一下,可以动态添加他的元素,如下:
    <script>
    var voption = document.createElement("OPTION");
    voption.value = "4";
    voption.text. = "eg4";
    sel_obj.add(voption);
    </script>

    设置select元素的选中项:
    方法有两种。
    第一种通过<select>的属性来设置选中项,此方法可以在动态语言如php在后台根据需要控制输出结果。
    < select id = "sel" >
    < option value = "1" >1</ option >
    < option value = "2" selected = "selected" >2</ option >
    < option value = "3" >3</ option >
    </ select >

    第二种为通过前端js来控制选中的项:

    < script type = "text/javascript" >
    function change(){
    document.getElementById("sel")[2].selected=true;
    }
    </ script >
    < select id = "sel" >
    < option value = "1" >1</ option >
    < option value = "2" >2</ option >
    < option value = "3" >3</ option >
    </ select >
    < input type = "button" value = "修改" onclick = "change()" />

    获取<select>标签选中项文本的js代码为:
    var val = document.all.Item.options[document.all.Item.selectedIndex].text
    var i=document.getElementById( ‘sel‘ ).options[document.getElementById( ‘sel‘).selectedIndex].value;

    一些其它操作<select>标签的技巧如下:
    1)动态创建select
    function createSelect(){
    var mySelect = document.createElement( "select" );
    mySelect.id = "mySelect" ;
    document.body.appendChild(mySelect);
    }

    2)添加选项option
    function addOption(){
    //根据id查找对象,
    var obj=document.getElementById( ‘mySelect‘ );
    //添加一个选项
    obj.add( new Option( "文本" , "值" ));
    }

    3)删除所有选项option
    function removeAll(){
    var obj=document.getElementById( ‘mySelect‘ );
    obj.options.length=0;
    }

    4)删除一个选项option
    function removeOne(){
    var obj=document.getElementById( ‘mySelect‘ );
    //index,要删除选项的序号,这里取当前选中选项的序号
    var index=obj.selectedIndex;
    obj.options.remove(index);
    }

    5)获得选项option的值

    var obj=document.getElementById( ‘mySelect‘ );

    var index=obj.selectedIndex; //序号,取当前选中选项的序号
    var val = obj.options[index].value;

    6)获得选项option的文本
    var obj=document.getElementById( ‘mySelect‘ );
    var index=obj.selectedIndex; //序号,取当前选中选项的序号
    var val = obj.options[index].text;

    7)修改选项option
    var obj=document.getElementById( ‘mySelect‘ );
    var index=obj.selectedIndex; //序号,取当前选中选项的序号
    var val = obj.options[index]= new Option( "新文本" , "新值" );

    8)删除select
    function removeSelect(){
    var mySelect = document.getElementById( "mySelect" );
    mySelect.parentNode.removeChild(mySelect);

  • 相关阅读:
    三大主流负载均衡软件对比(LVS+Nginx+HAproxy)
    nginx 提示the "ssl" directive is deprecated, use the "listen ... ssl" directive instead
    centos安装nginx并配置SSL证书
    hadoop创建目录文件失败
    The server time zone value 'EDT' is unrecognized or represents more than one time zone.
    脚本启动SpringBoot(jar)
    centos做免密登录
    数据库远程连接配置
    Bash 快捷键
    TCP三次握手四次断开
  • 原文地址:https://www.cnblogs.com/yanyufusu/p/7847068.html
Copyright © 2011-2022 走看看