javascript操作Select标记中options集合

javascript Select标记中options操作方法集合 javascript操作Select标记中options集合 先来看看options集合的这几个方法: options.add(option)方法向集合里添加一项option对象; options.remove(index)方法移除options集合中的指定项; options(index)或options.item(index)可以通过索引获取options集合的指定项; javascript代码如下: var selectTag = null; //select标记 var OPTONLENGTH = 10; //每次填充option数 var colls = []; //对select标 立即下载

先来看看options集合的这几个方法:
options.add(option)方法向集合里添加一项option对象;
options.remove(index)方法移除options集合中的指定项;
options(index)或options.item(index)可以通过索引获取options集合的指定项;

javascript代码如下:

var  selectTag  =   null ;  // select标记
     var  OPTONLENGTH  =   10 ;  // 每次填充option数
     var  colls  =  [];        // 对select标记options的引用

    window.onload 
=   function () {
        selectTag 
= document.getElementById("SelectBox"); //获取select标记        
        colls = selectTag.options; //获取引用
        //initSelectBox();    //自初始化select.options
    }
;
    
    
// 使用随机数填充select.options
     function  initSelectBox() {
        
var random = 0 ;
        
var optionItem = null;
        
var item = null;
        
        
if(colls.length > 0 && isClearOption()){
             clearOptions(colls);
        }


        
for(var i=0;i<OPTONLENGTH;i++){
             
            random 
= Math.floor(Math.random()*9000)+1000;
            item 
= new Option(random,random);    //通过Option()构造函数创建option对象        
            selectTag.options.add(item); //添加到options集合中
        }
    
        
        watchState();
    }

    
// 添加新option项前是否清空当前options
     function  isClearOption() {
        
return document.getElementById("chkClear").checked;
    }

    
// 清空options集合
     function  clearOptions(colls) {
        
var length = colls.length;
        
for(var i=length-1;i>=0;i--){
            colls.remove(i);
        }

    }

    
// 添加一项新option
     function  addOption() {
        colls.add(createOption());
        lastOptionOnFocus(colls.length
-1);
        watchState();
    }

    
// 创建一个option对象
     function  createOption() {
        
var random = Math.floor(Math.random()*9000)+1000;
        
return new Option(random,random);
    }

    
// 删除options集合中指定的一项option
     function  removeOption(index) {        
        
if(index >= 0){
            colls.remove(index);
            lastOptionOnFocus(colls.length
-1);
        }

        watchState();
    }

    
// 获取当前选定的option索引
     function  getSelectedIndex() {
        
return selectTag.selectedIndex;
    }

    
// 获取options集合的总数
     function  getOptionLength() {
        
return colls.length;
    }

    
// 获取当前选定的option文本
     function  getCurrentOptionValue(index) {
        
if(index >= 0)
            
return colls(index).value;
    }

    
// 获取当前选定的option值
     function  getCurrentOptionText(index) {
        
if(index >= 0)
            
return colls(index).text;
    }

    
// 使用options集合中最后一项获取焦点
     function  lastOptionOnFocus(index) {
        selectTag.selectedIndex 
= index;
    }

    
// 显示当select标记状态
     function  watchState() {
        
var divWatch = document.getElementById("divWatch");
        
var innerHtml="";
        innerHtml  
= "option总数:" + getOptionLength();
        innerHtml 
+= "<br/>当前项索引:" + getSelectedIndex();
        innerHtml 
+= "<br/>当前项文本:" + getCurrentOptionText(getSelectedIndex());
        innerHtml 
+= "<br/>当前项值:" + getCurrentOptionValue(getSelectedIndex());
        divWatch.innerHTML 
= innerHtml;
        divWatch.align 
= "justify";
    }

注意到上面创建option项时,使用了Option()构造函数,这个构造函数有两个版本的重载。
1、var option = new Option(text,value); //这里要大写Option()
2、var option = new Option();
       option.text = text;
       option.value=value;
我个人比较喜欢第一种方法来创建option对象。
另外,select标记还有一个比较有用的属性就是selectedIndex,通过它可能获取当前选择的option索引,或通过索引设置指定options集合中哪一项被选择。
   select.selctedIndex = select.options.length-1; //将options集合中最后一项选中
   var selectedItem = select.options(select.selectedIndex);//获取当前选中项
   selectedItem.text; //选中项的文本
   selectedItem.value; //选中项的值

< BODY >
  
< Select  name ="SelectBox" >
  
</ Select >
  
< hr />
    
< div  id ="divWatch"  style ="background-color:beige;width=220;" >
    
</ div >     
  
< hr />
  
< h4 > 使用随机数初始化SelectBox </ h4 >
  
< input  type ="button"  value ="Init"  onclick ="initSelectBox()" />   < input  type ="checkbox"  name ="chkClear" /> clear
  
< hr />
  
< h4 > 添加option项 </ h4 >
  
< input  type ="button"  value ="create"  onclick ="addOption()" />
  
< hr />
  
< h4 > 删除option项 </ h4 >
  
< input  type ="button"  value ="delete"  onclick ="removeOption(colls.length-1)" />
 
</ BODY >

代码下载
 
Origin科研绘图——桑基图 是一种用于展示“流动”(flow)关系的可视化图表,常用于呈现能量流、物质流、资金流、信息流等在不同节点之间的传递和分配情况。它最大的特点是用“宽度可变的流线”来直观表示数量大小——流线越宽,代表流量越大,因此特别适合理解复杂系统中资源从哪里来、到哪里去、以及不同路径所占比例。为该流程对应的数量。只需将各个流程逐项填写在 A、B、C 三列即可,流程的排列顺序并非关键,确保起点、终点及对应数值准确才是最重要的。与柱状图、饼图不同,桑基图不仅展示“多少”,还展示“从哪到哪”。至此,本期教程就结束啦。 阅读详情

相关推荐

Vercel静态站被墙别慌!手把手教你用Cloudflare免费CDN+域名解析搞定DNS污染

本文详细介绍了如何利用Cloudflare免费CDN和域名解析解决Vercel静态网站遭遇DNS污染的问题。通过诊断DNS污染、设计Cloudflare解决方案架构、实战配置步骤以及高级调优技巧,帮助用户快速恢复站点访问并提升防护能力。

weixin_27442001的博客 704

javascript中的options.add() options.remove() options(index)或options.item(index)

javascript操作Select标记中options集合 分类:JAVASCRIPT先来看看options集合的这几个方法: options.add(option)方法向集合里添加一项option对象; options.remove(index)方法移除options集合中的指定项; options(index)或options.item(index)可以通过索引获取options集合的

kbx8916的博客 3346

4. PCIe 接口时序

在上一篇中,大致介绍IPcore接口。总的来说接口如下图数据的接收和发送通过transmitTLPinterface和ReceiveTLPinterface。收发数据的时序也只是描述这几个接口的关系。从手册上截取PCIex1的接口时序。

jjinl的专栏 6123

javascript当中options的用法

6.options马克-to-win:选择列表例 6.1(SelectOptionAddIEFF.html)<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><head> <meta http-equiv="content-type" content="text/h...

mark_to_win的专栏 1万+

避坑指南:CesiumLab+ENVI处理Sentinel-2影像数据的完整流程

本文提供了一份详细的避坑指南,完整介绍了如何利用CesiumLab和ENVI工具链,将Sentinel-2卫星影像处理成可供Cesium三维地球引擎加载的离线瓦片数据。内容涵盖数据获取、SNAP预处理、ENVI影像增强合成以及CesiumLab切片配置等全流程实战步骤与关键参数优化,旨在帮助工程师高效构建自主可控的高精度离线地图服务。

weixin_29248653的博客 291

Origin作图——等高线图

最近做一个测试数据图,开始想通过用热图来展示,结果发现热图有很多的小方块,很难呈现出最好的效果,因为数据是有一层一层的递进效果,因此经过尝试后,发现等高线图是个好选择。 热图展示效果如下:其中有很多的小方块不适合,热图制图方法前面有记录。 下面展示等高线图制作方法。首先是导入数据,可以从excal导入,也可以直接复制进去。等方法。 选中要展示的数据,绘图----等高线图 选中箭头,确定。 双击图像,点击线,我们需要把线隐藏了. 双击图像,我们需要调色板,根据自己的选择,一般用调色板的颜色。

qq_42278015的博客 1万+

javascript option

一基础理解: var e = document.getElementById("selectId"); e. options = new Option("文本","值") ; //创建一个option对象,即在标签中创建一个或多个文本 //options 是个数组,里面可以存放多个文本这样的标签 1:options [ ]数组的属性: length属...

lixiamani1的博客 529

全球半导体设备氧化钇熔射服务行业规模预测:预计未来六年CAGR为7.8%

本文将对“半导体设备氧化钇熔射服务”行业进行深度分析,探讨市场趋势的演变、核心竞争者的战略布局、供应链结构的内外特点、研发创新的最新进展、法规政策环境的适应性调整以及投资机会与风险评估。这一稳健的增长趋势表明半导体设备氧化钇熔射服务在电子行业中的重要性逐渐增强。由于全球对于高效、高精度和可靠的电子解决方案的需求增加,对能够提供这些功能的半导体设备氧化钇熔射服务的需求日益增长。由于半导体设备氧化钇熔射服务主要为就地服务型,其“配送”主要依赖于专业团队和技术设备的及时调配,强调服务的时效性和高质量。

CC1239777的博客 571

javascript option操作

注意:Option中的O是要大写的,不然语法报错 1.动态创建select       function createSelect(){        var mySelect = document.createElement("select");            mySelect.id = "mySelect";             document.body.appendC

yjw916622874的专栏 1060

自锁电路设计

Hi,uu们,是不是经常要用到自锁电路,通常不是使用555芯片就是用比较器来做自锁,今天我们来简单看下自锁电路的设计.图1采用了比较器构建了一个自锁电路,采用低电平复位,当需要复位的时候志需要将反向端的二极管拉低一下即可,免去 三极管控制同相端和电源短接的麻烦。图1:比较器构建的自锁电路也可以使用555去构建,如下图2所示.图2:使用555构建的自锁电路工作原理见555的真值表,真值表如表1所示.表1:555电路真值表相对来说555还是比较贵,所以我就想能不能有个便宜的方法做个自锁电路,构建电路如下图3所示

weixin_43884675的博客 7069

手把手教你学Simulink——四开关 Buck‑Boost(FSBB)变换器的无缝模式切换仿真

本文详细介绍了四开关Buck-Boost(FSBB)变换器的Simulink仿真方法,重点解决模式切换时的直通风险和输出电压波动问题。通过统一电压PI控制、迟滞比较模式仲裁(Buck/Boost/Pass-Through)和200ns死区设计,实现了Vin从26V到22V变化时Vout稳定在12V±0.15V。关键步骤包括:搭建功率级电路、Stateflow模式判断、PI控制器输出占空比映射(Buck模式D≈Vo/Vin,Boost模式D≈1-Vo/Vin),以及带死区的PWM信号分配。仿真验证了切换过程中

MHD0815的博客 117
上一篇: 为使用Master的ASP.NET Content页面添加CSS样式
下一篇: vs2005 sp1下载地址及安装提示
WNASP
博客等级 码龄24年 25粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值