浅谈下拉菜单中的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 相关文章推荐
Mootools 1.2教程 滑动效果(Slide)
Sep 15 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
Jun 09 Javascript
JavaScript中模拟实现jsonp
Jun 19 Javascript
聊一聊JavaScript作用域和作用域链
May 03 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
Dec 07 Javascript
JS得到当前时间的方法示例
Mar 24 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
Apr 11 jQuery
angularjs实现table增加tr的方法
Feb 27 Javascript
利用Node.js如何实现文件循环覆写
Apr 05 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
Dec 08 Javascript
Javascript异步编程async实现过程详解
Apr 02 Javascript
js动态添加带圆圈序号列表的实例代码
Feb 18 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获取linux服务器状态的代码
2014/05/27 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
2015/09/29 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
laravel 修改记住我功能的cookie保存时间的方法
2019/10/14 PHP
tp5.1 框架路由操作-URL生成实例分析
2020/05/26 PHP
javascript引用对象的方法
2007/01/11 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
jQuery $.data()方法使用注意细节
2012/12/31 Javascript
兼容主流浏览器的iframe自适应高度js脚本
2014/01/10 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
vue.js学习之vue-cli定制脚手架详解
2017/07/02 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
Python3.6简单操作Mysql数据库
2017/09/12 Python
Python对切片命名的实现方法
2018/10/16 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
python列表推导式入门学习解析
2019/12/02 Python
python实现批量处理将图片粘贴到另一张图片上并保存
2019/12/12 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
keras slice layer 层实现方式
2020/06/11 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
Canvas高级路径操作之拖拽对象的实现
2019/08/05 HTML / CSS
阿里旅行:飞猪
2017/01/05 全球购物
Bonprix法国:时尚、鞋子、家居
2020/12/29 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
大一自我鉴定范文
2013/12/27 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers
详解SQL报错盲注
2022/07/23 SQL Server
基于Python实现nc批量转tif格式
2022/08/14 Python