JS动态添加option和删除option

it2022-05-09  22

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("文本","值"));    //这个只能在IE中有效         obj.options.add(new Option("text","value")); //这个兼容IE与firefox     }

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

整个实例的完整代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//ZH-CN" "http://www.w3.org/TR/html4/strict.dtd"><html><head>   <meta http-equiv="Content-Type" content="text/html"><head>   <script language=JavaScript>    function $(id)    {     return document.getElementById(id)    }    function show()    {     var selectObj=$("area")     var myOption=document.createElement("option")     myOption.setAttribute("value","10")     myOption.appendChild(document.createTextNode("上海"))     var myOption1=document.createElement("option")     myOption1.setAttribute("value","100")     myOption1.appendChild(document.createTextNode("南京"))     selectObj.appendChild(myOption)     selectObj.appendChild(myOption1)    }    function choice()    {     var index=$("area").selectedIndex;     var val=$("area").options[index].getAttribute("value")     if(val==10)     {      var i=$("context").childNodes.length-1;     var remobj=$("context").childNodes[i];     remobj.removeNode(true)      var sh=document.createElement("select")      sh.add(new Option("浦东新区","101"))      sh.add(new Option("黄浦区","102"))      sh.add(new Option("徐汇区","103"))      sh.add(new Option("普陀区","104"))      $("context").appendChild(sh)     }     if(val==100)     {      var i=$("context").childNodes.length-1;     var remobj=$("context").childNodes[i];     remobj.removeNode(true)      var nj=document.createElement("select")      nj.add(new Option("玄武区","201"))      nj.add(new Option("白下区","202"))      nj.add(new Option("下关区","203"))      nj.add(new Option("栖霞区","204"))      $("context").appendChild(nj)     }    }    function calc()    {     var x=$("context").childNodes.length-1;     alert(x)    }    function remove()    {     var i=$("context").childNodes.length-1;     var remobj=$("context").childNodes[i];     remobj.removeNode(true)    }   </script><body><div id="context">   <select id="area" οnchange="choice()">   </select></div><input type=button value="显示" οnclick="show()"><input type=button value="计算结点" οnclick="calc()"><input type=button value="删除" οnclick="remove()"></body></html>

改进版:在select中添加、修改、删除option元素

function watch_ini(){ // 初始for(var i=0; i<arguments.length; i++){var word = document.createElement("OPTION");word.text = arguments[i];watch.keywords.add(word); // watch. is form name}}function watch_add(f){ // 增加var word = document.createElement("OPTION");word.text = f.word.value;f.keywords.add(word);}但上述 add() 方法只在IE下有效,为兼容FF和Opera,对上述代码进行了一下改进,改动后代码如下: function watch_ini(){ // 初始for(var i=0; i<arguments.length; i++){   var oOption=new Option(arguments[i],arguments[i]);   document.getElementById("MySelect")[i]=oOption;}}function watch_add(f){ // 增加   var oOption=new Option(f.word.value,f.word.value);   f.keywords[f.keywords.length]=oOption;}

整个实例的完整代码如下:

<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><title>javascript select options text value</title><meta name="keywords" content="javascript select options text value add modify delete set"><meta name="description" content="javascript select options text value add modify delete set"><script language="javascript"><!--function watch_ini(){ // 初始for(var i=0; i<arguments.length; i++){   var oOption=new Option(arguments[i],arguments[i]);   document.getElementById("MySelect")[i]=oOption;}}function watch_add(f){ // 增加   var oOption=new Option(f.word.value,f.word.value);   f.keywords[f.keywords.length]=oOption;}function watch_sel(f){ // 编辑f.word.value = f.keywords[f.keywords.selectedIndex].text;}function watch_mod(f){ // 修改f.keywords[f.keywords.selectedIndex].text = f.word.value;}function watch_del(f){ // 删除f.keywords.remove(f.keywords.selectedIndex);}function watch_set(f){ // 保存var set = "";for(var i=0; i<f.keywords.length; i++){set += f.keywords[i].text + ";";}confirm(set);}//--></script></head><body><form name="watch" method="post" action=""><select id="MySelect" name="keywords" size="10" οnchange="watch_sel(this.form)"></select><br><script language="javascript"><!--watch_ini("我","你","妳","他","她","它","尔"); // 初始关键词//--></script><input type="text" name="word" /><br /><input type="button" value="增加" οnclick="watch_add(this.form);" /><input type="button" value="修改" οnclick="watch_mod(this.form);" /><input type="button" value="删除" οnclick="watch_del(this.form);" /><input type="button" value="保存" οnclick="watch_set(this.form);" /></form>

用一个字符串创建一个数组方法:

<script language="javascript">   

</body></html> <script>functionspli(){datastr="2,2,3,5,6,6";      varstr=newArray();       str=datastr.split(",");          for(i=0;i<str.length ;i++ )        {document.write(str[i]+"<br/>");  }   }   spli();   </script>   -- 来源于互联网http://apps.hi.baidu.com/share/detail/31091794

 

 

<select id="ddlResourceType" οnchange="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));

     上面在IE和FireFox都能测试成功,希望以后你可以用上。

其实用标准的DOM操作也可以,就是document.createElement,appendChild,removeChild之类的。

取值方面

    function getvalue(obj)

    {

        var m=obj.options[obj.selectedIndex].value

        alert(m);//获取value

        var n=obj.options[obj.selectedIndex].text

        alert(n);//获取文本

    }

==============================================================================

1 检测是否有选中

if (objSelect.selectedIndex > - 1 ) {

// 说明选中

} else {

// 说明没有选中

}

2 删除被选中的项

objSelect.options[objSelect.selectedIndex] = null ;

3 增加项

objSelect.options[objSelect.length] = new Option( " 你好 " , " hello " );

4 修改所选择中的项

objSelect.options[objSelect.selectedIndex] = new Option( " 你好 " , " hello " );

5 得到所选择项的文本

objSelect.options[objSelect.selectedIndex].text;

6 得到所选择项的值

objSelect.options[objSelect.selectedIndex].value;

======================================================================

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

<!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">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>JS对select动态添加options操作[IE和FireFox兼容]</title>

<script language="javascript" type="text/javascript">

function xlbchange(s){

switch (s){

   case "1" :

       document.getElementById("lb").options.length=0;

     var soojs_value=[0,1,2,3];

    var soojs_text=["精神提炼","作风设计","目标设置","理念提升"];

    for ( var i=0;i<soojs_value.length;i++){

     var   oOption   =   document.createElement("OPTION");  

     oOption.value=soojs_value[i];  

     oOption.text=soojs_text[i];  

     zpmange.lb.options.add(oOption);

     }

      break;

   case "2" :

       document.getElementById("lb").options.length=0;

     var soojs_value=[0,1,2,3,4,5,6,7];

    var soojs_text=["校徽","校训","校歌","校名字体","校史展室","宣传画册","宣传光盘","办公用品纪念品"];

    for ( var i=0;i<soojs_value.length;i++){

     var   oOption   =   document.createElement("OPTION");  

     oOption.value=soojs_value[i];  

     oOption.text=soojs_text[i];  

     zpmange.lb.options.add(oOption);

     }  

      break;

        case "3":

    document.getElementById("lb").options.length=0;

     var soojs_value=[0,1,2,3];

    var soojs_text=["校园景观设计","校园雕塑设计","校园浮雕设计","走廊文化设计"];

    for ( var i=0;i<soojs_value.length;i++){

     var   oOption   =   document.createElement("OPTION");  

     oOption.value=soojs_value[i];  

     oOption.text=soojs_text[i];  

     zpmange.lb.options.add(oOption);

     }

   break;   

        case "4":

    document.getElementById("lb").options.length=0;

     var soojs_value=[0,1,2];

    var soojs_text=["学校制度","文化活动","行为规范"];

    for ( var i=0;i<soojs_value.length;i++){

     var   oOption   =   document.createElement("OPTION");  

     oOption.value=soojs_value[i];  

     oOption.text=soojs_text[i];  

     zpmange.lb.options.add(oOption);

     }

   break;

default :

   document.getElementById("lb").options.length=0;

var   oOption   =   document.createElement("OPTION");

     oOption.value=0;  

     oOption.text="请选择作品类别";

zpmange.lb.options.add(oOption);

}

}

</script>

</head>

<body>

<form action="zpmange.asp" name="zpmange" method="post">

<p><select id="ddlResourceType" οnchange="getvalue(this)"><br />

</select></p>

<p> 动态删除select中的所有options: <br />

    document.getElementById("ddlResourceType").options.length=0; <br />

<br />

    动态删除select中的某一项option: <br />

    document.getElementById("ddlResourceType").options.remove(indx); </p>

<p> 动态添加select中的项option: <br />

    document.getElementById("ddlResourceType").options.add(new Option(text,value)); </p>

<p> 上面在IE和FireFox都能测试成功,希望以后你可以用上。 <br />

    其实用标准的DOM操作也可以,就是document.createElement,appendChild,removeChild之类的。 </p>

<p>取值方面<br />

    function getvalue(obj)<br />

    {<br />

    var m=obj.options[obj.selectedIndex].value<br />

    alert(m);//获取value<br />

    var n=obj.options[obj.selectedIndex].text<br />

    alert(n);//获取文本<br />

    }<br />

</p>

<p>例子:</p>

<table width="80%" border="0" align="center" cellpadding="1" cellspacing="1" style="border-style:double">

    <tr>

      <td width="50%" height="41" ><div align="center">

      

            <select name="xt" id="xt" οnchange="xlbchange(this.value)">

          <option selected="selected">请选择作品系统</option>

                  <option value="1">理念视别系统</option>

                  <option value="2">视觉识别系统</option>

                  <option value="3">环境视别系统</option>

                  <option value="4">行为视别系统</option>         

        </select>

               

      </div></td>

      <td width="61%" ><div align="center">

        <select name="lb" id="lb">

   <option selected="selected">请选择作品类别</option>

        </select>

      </div></td>

    </tr>

    <tr>

      <td height="203" colspan="2" > </td>

    </tr>

</table>

</form>

</body>

</html>

 

转载于:https://www.cnblogs.com/zhanghongqiang/p/4097496.html


最新回复(0)