分享

js 操作select下option

 沐浴中的眼泪 2011-01-11
注意:Option中的O是要大写的,不然语法报错   
 
1.动态创建select  
Javascript代码   
function createSelect(){      
    var mySelect = document.createElement("select");     
    mySelect.id = "mySelect";      
    document.body.appendChild(mySelect);     
}      

2.添加选项option   
Javascript代码   
     function addOption(){             
           var obj=document.getElementById('mySelect');        
           obj.add(new Option("文本","值"));    //这个只能在IE中有效     
           obj.options.add(new Option("text","value")); //这个兼容IE与firefox    
            var op=document.createElement("option");
            op.text=clos[i];
            op.value=clos[i];
            //sel.options.add(new Option(clos[i],clos[i])); 
            sel.options.add(op);  
     }     
----------------------------------------------------------------   
Option里面的四个参数分别的意思    
new   Option   (text,value,defaultselected,selected)     
new   Option   (文本,值,默认选中的选项,选中的选项)   
看测试结果就懂了    
  <select   id="s1"></select>        
  <script>    
      var   op   =   new   Option("显示文本1","值1",false,false);    
      s1.options.add(op);    
      op   =     new   Option("显示文本2","值2",false,true);    
      s1.options.add(op);    
  </script>   
-----------------------------------------------------------------    
3.删除所有选项option   
Javascript代码   
     function removeAll(){     
           var obj=document.getElementById('mySelect');     
           obj.options.length=0;      
     }     
4.删除一个选项option   
Javascript代码   
function removeOne(){     
           var obj=document.getElementById('mySelect');      
           //index,要删除选项的序号,这里取当前选中选项的序号      
          var index=obj.selectedIndex;     
          obj.options.remove(index);     
     }     
5.获得选项option的值  
Javascript代码   
var obj=document.getElementById('mySelect');        
var index=obj.selectedIndex; //序号,取当前选中选项的序号          
var val = obj.options[index].value;      
6.获得选项option的文本   
Javascript代码   
var obj=document.getElementById('mySelect');          
var index=obj.selectedIndex; //序号,取当前选中选项的序号          
var val = obj.options[index].text;      
7.修改选项option   
Javascript代码   
var obj=document.getElementById('mySelect');         
var index=obj.selectedIndex; //序号,取当前选中选项的序号       
var val = obj.options[index]=new Option("新文本","新值");       
8.删除select  
Javascript代码   
      function removeSelect(){     
            var mySelect = document.getElementById("mySelect");     
           mySelect.parentNode.removeChild(mySelect);     
     }     
整个实例的完整代码如下:  
 
Javascript代码   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//ZH-CN" "http://www./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" onchange="choice()">     
   </select>     
</div>     
<input type=button value="显示" onclick="show()">     
<input type=button value="计算结点" onclick="calc()">     
<input type=button value="删除" onclick="remove()">     
</body>     
</html>     
 
 
 
 
改进版:在select中添加、修改、删除option元素  
 
Javascript代码   
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(){ // 初始   
 
Javascript代码   
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;     
}      
  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多