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 相关文章推荐
JavaScript toFixed() 方法
Apr 15 Javascript
js实现页面跳转重定向的几种方式
May 29 Javascript
JavaScript File分段上传
Mar 10 Javascript
JS读写CSS样式的方法汇总
Aug 16 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
Dec 23 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
Feb 15 Javascript
JS实现一个简单的日历
Feb 22 Javascript
jQuery实现的手风琴侧边菜单效果
Mar 29 jQuery
微信JS-SDK选取手机照片上传功能
Apr 21 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
Apr 22 Javascript
详解为生产环境编译Angular2应用的方法
Dec 10 Javascript
对vuex中getters计算过滤操作详解
Nov 06 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中显示数组与对象的实现代码
2011/04/18 PHP
php中explode与split的区别介绍
2012/10/03 PHP
php文件上传简单实现方法
2015/01/24 PHP
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
Jquery写一个鼠标拖动效果实现原理与代码
2012/12/24 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
JS验证不重复验证码
2017/02/10 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
Vue自定义指令使用方法详解
2017/08/21 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
js实现点击按钮随机生成背景颜色
2020/09/05 Javascript
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
用python计算文件的MD5值
2020/12/23 Python
css3加js做一个简单的3D行星运转效果实例代码
2017/01/18 HTML / CSS
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
预订奥兰多和佛罗里达州公园门票:FloridaTix
2018/01/03 全球购物
优秀生推荐信范文
2013/11/28 职场文书
幼儿园老师寄语
2014/04/03 职场文书
Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题
2022/02/12 Redis
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android