浅谈下拉菜单中的Option对象


Posted in Javascript onMay 10, 2015

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>

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

Javascript 相关文章推荐
Google Suggest ;-) 基于js的动态下拉菜单
Oct 11 Javascript
IE JS编程需注意的内存释放问题
Jun 23 Javascript
别了 JavaScript中的isXX系列
Aug 01 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
Dec 10 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
Jan 13 Javascript
原生js实现百叶窗效果及原理介绍
Apr 12 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
Dec 18 Javascript
JS中使用正则表达式g模式和非g模式的区别
Apr 01 Javascript
vue组件实现文字居中对齐的方法
Aug 23 Javascript
Vue DevTools调试工具的使用
Dec 05 Javascript
微信小程序实现左右联动的实战记录
Jul 05 Javascript
js判断鼠标移入移出方向的方法
Jun 24 Javascript
AngularJS基础学习笔记之控制器
May 10 #Javascript
AngularJS基础学习笔记之指令
May 10 #Javascript
AngularJS基础学习笔记之表达式
May 10 #Javascript
AngularJS基础学习笔记之简单介绍
May 10 #Javascript
JS实现仿QQ聊天窗口抖动特效
May 10 #Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
May 09 #Javascript
深入浅出分析javaScript中this用法
May 09 #Javascript
You might like
php 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
关于文本限制字数的js代码
2007/04/02 Javascript
JS解密入门 最终变量劫持
2008/06/25 Javascript
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
js中javascript:void(0) 真正含义
2020/11/05 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
Angular 中 select指令用法详解
2016/09/29 Javascript
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
vue如何获取点击事件源的方法
2017/08/10 Javascript
详解react-router4 异步加载路由两种方法
2017/09/12 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
python获取糗百图片代码实例
2013/12/18 Python
简单介绍Python中的round()方法
2015/05/15 Python
Python中splitlines()方法的使用简介
2015/05/20 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
Nike香港官网:Nike HK
2019/03/23 全球购物
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
中科软笔试题和面试题
2014/10/07 面试题
国际贸易专业个人求职信格式
2014/02/02 职场文书
协议书与合同的区别
2014/04/18 职场文书
稽核岗位职责范本
2015/04/13 职场文书