浅谈下拉菜单中的Option对象

 更新时间:2015年05月10日 10:27:00   投稿:hebedich  
Option 对象代表 HTML 表单中下拉列表中的一个选项。在 HTML 表单中 <option> 标签每出现一次,一个 Option 对象就会被创建。您可通过表单的 elements[] 数组访问一个 Option 对象,或者通过使用 document.getElementById()。

1.创建Option对象

  1.1 var optionEle1 = document.createElement('option');

  1.2 var optionEle2 = new Option(text, value, defaultSelected, selected);

2.options属性

  2.1 select.options返回select标签下面的Option对象的集合

3.清空下拉菜单

  3.1 利用for循环删除,注意数组长度的动态变化

  3.2 select.options.length = 0;

4.应用

<html> 
<head> 
<script language="javascript"> 
function number(){ 
var obj = document.getElementById("mySelect"); 
//obj.options[obj.selectedIndex] = new Option("我的吃吃","4");//在当前选中的那个的值中改变 
//obj.options.add(new Option("我的吃吃","4"));再添加一个option 
//alert(obj.selectedIndex);//显示序号,option自己设置的 
//obj.options[obj.selectedIndex].text = "我的吃吃";更改值 
//obj.remove(obj.selectedIndex);删除功能 
} 
</script> 
</head> 
<body> 
<select id="mySelect"> 
<option>我的包包</option> 
<option>我的本本</option> 
<option>我的油油</option> 
<option>我的担子</option> 
</select> 
<input type="button" name="button" value="查看结果" onclick="number();"> 
</body> 
</html> 

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" on  
change="choice()"> 
</select> 
</div> 
<input type=button value="显示" onclick="show()"> 
<input type=button value="计算结点" onclick="calc()"> 
<input type=button value="删除" onclick="remove()"> 
</body> 
</html> 

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • uni-app微信小程序使用echarts的详细图文教程

    uni-app微信小程序使用echarts的详细图文教程

    为了兼容小程序Canvas,ECharts提供了一个小程序的组件,用这种方式可以方便地使用ECharts,下面这篇文章主要给大家介绍了关于uni-app微信小程序使用echarts的相关资料,需要的朋友可以参考下
    2022-10-10
  • 微信小程序开发篇之踩坑记录

    微信小程序开发篇之踩坑记录

    这篇文章主要给大家介绍了关于微信小程序开发篇之踩坑记录的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • $$()函数应用实例

    $$()函数应用实例

    $$()函数应用实例...
    2006-10-10
  • eval与window.eval的差别分析

    eval与window.eval的差别分析

    eval与window.eval的差别分析,学习js的朋友可以了解下。
    2011-03-03
  • JS数组索引检测中的数据类型问题详解

    JS数组索引检测中的数据类型问题详解

    这篇文章主要给大家介绍了关于JS数组索引检测中的数据类型问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • js获取url中的参数且参数为中文时通过js解码

    js获取url中的参数且参数为中文时通过js解码

    这篇文章主要介绍了url中传递中文参数的时候通过js解码,需要的朋友可以参考下
    2014-03-03
  • Bootstrap popover用法详解

    Bootstrap popover用法详解

    这篇文章主要为大家详细介绍了Boostrap popover用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • js简单实现调整网页字体大小的方法

    js简单实现调整网页字体大小的方法

    这篇文章主要介绍了js简单实现调整网页字体大小的方法,通过javascript动态修改页面元素样式实现调整网页字体的功能,非常简单实用,需要的朋友可以参考下
    2016-07-07
  • 手机端页面rem宽度自适应脚本

    手机端页面rem宽度自适应脚本

    网上关于这方面的文章有很多,重复的东西本文不再赘述,仅提供思路,并解释一些其他文章讲述模糊的地方。重点给大家介绍下rem.有需要的小伙伴可以参考下。
    2015-05-05
  • 使用taro开发微信小程序遇到的坑总结

    使用taro开发微信小程序遇到的坑总结

    Taro,京东凹凸实验室出品的适配多端的一个框架,这篇文章主要介绍了使用taro开发微信小程序遇到的坑总结,需要的朋友可以参考下
    2019-04-04

最新评论