JS检索下拉列表框中被选项目的索引号(selectedIndex)


Posted in Javascript onDecember 17, 2019

前言

在开始本文主题之前,先来看一个 HTML demo,一个非常简单的选择列表(select):

<select>
  <option>one</option>
  <option>two</option>
  <option>three</option>
</select>

JS检索下拉列表框中被选项目的索引号(selectedIndex)

请思考一个问题,如果 这些数据(one/two/three)是从后台请求过来且动态添加渲染进DOM系统 的话,你是无法确定每个列表项的索引号的,也就意味着这些列表项没有 ID。显然,我们需要获取到用户选择的列表项与当前列表项的索引号(ID)。

selectedIndex API

JavaScript 提供了找到select ID索引号的方法,它反映了第一个或最后选择的索引 <option> 元件,这取决于值 multiple,注意,该值为 -1 指示未选择任何元素。

selectedIndex 属性可设置或返回下拉列表中被选选项的索引号,若允许多重选择,则仅会返回第一个被选选项的索引号。

语法:

// 获取索引号
selectElem.selectedIndex
// 重置索引号(newIndex为新值)
selectElem.selectedIndex = newIndex

获取索引 / 重置索引

我们可以使用 JavaScript 提供的 API 来获取当前用户选择列表项的索引号。当然,我们也可以重置(改变)索引号。

HTML:

<select id="select">
  <option>one</option>
  <option>two</option>
  <option>three</option>
</select>
<button onclick="get()">获取索引号</button>
<button onclick="reset()">重置索引号</button>

JavaScript:

// 获取列表项(select)
var select = document.getElementById('select')
// 获取索引号
function get(){
  console.log(`当前索引号:${select.selectedIndex}`)
}
// 重置索引号
function reset(){
  let flag = select.selectedIndex //频繁使用封装一下(*^_^*)
  if(flag == '0'){ // 重置索引值为0的列表项
    flag = 999 //更改值为999
    console.log(`重置后索引号:${flag}`)
    console.log(`注意:重置不会改变原值,不信你看现在的值:${select.selectedIndex}`)
  }
}

JS检索下拉列表框中被选项目的索引号(selectedIndex)

总结

以上所述是小编给大家介绍的JS检索下拉列表框中被选项目的索引号(selectedIndex),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
小型js框架veryide.librar源代码
Mar 05 Javascript
js模拟类继承小例子
Jul 17 Javascript
关于jquery性能最佳实践的讨论,与求教
Mar 30 Javascript
js关闭子窗体刷新父窗体实现方法
Dec 04 Javascript
简单实用的全选反选按钮例子
Oct 18 Javascript
超炫的jquery仿flash导航栏特效
Nov 11 Javascript
node.js中的fs.readSync方法使用说明
Dec 17 Javascript
jquery获取url参数及url加参数的方法
Oct 26 Javascript
利用node.js爬取指定排名网站的JS引用库详解
Jul 25 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
Jun 10 Javascript
node.js文件操作系统实例详解
Nov 05 Javascript
JavaScript中this函数使用实例解析
Feb 21 Javascript
JS实现打字游戏
Dec 17 #Javascript
js实现打字小游戏
Dec 17 #Javascript
微信小程序缓存支持二次开发封装实现解析
Dec 16 #Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
Dec 16 #Javascript
ant-design-vue 实现表格内部字段验证功能
Dec 16 #Javascript
js DOM的事件常见操作实例详解
Dec 16 #Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
Dec 16 #Javascript
You might like
php基础知识:控制结构
2006/12/13 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
2013/02/06 PHP
深入分析php中接口与抽象类的区别
2013/06/08 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
详细谈谈javascript的对象
2016/07/31 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
vue实现裁切图片同时实现放大、缩小、旋转功能
2018/03/02 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
2018/07/13 Javascript
详解Eslint 配置及规则说明
2018/09/10 Javascript
vue实现商品列表的添加删除实例讲解
2020/05/14 Javascript
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
浅谈python为什么不需要三目运算符和switch
2016/06/17 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
Python爬虫开发与项目实战
2020/12/16 Python
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
会计实习生自我鉴定
2013/12/12 职场文书
工厂门卫岗位职责范本
2014/04/04 职场文书
商务英语专业求职信
2014/06/26 职场文书
船舶工程技术专业求职信
2014/08/07 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书
MySQL实战记录之如何快速定位慢SQL
2022/03/23 MySQL
Three.js实现雪糕地球的使用示例详解
2022/07/07 Javascript
MySQL事务的隔离级别详情
2022/07/15 MySQL