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实现的自定义的对话框的实现代码
Mar 21 Javascript
JS实现生成会变大变小的圆环实例
Aug 05 Javascript
JavaScript操作select元素和option的实例代码
Jan 29 Javascript
值得学习的bootstrap fileinput文件上传工具
Nov 08 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
Feb 19 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
Jun 03 Javascript
js防刷新的倒计时代码 js倒计时代码
Sep 06 Javascript
vue-cli项目中怎么使用mock数据
Sep 27 Javascript
深入剖析Express cookie-parser中间件实现示例
Feb 01 Javascript
利用es6 new.target来对模拟抽象类的方法
May 10 Javascript
vue+layui实现select动态加载后台数据的例子
Sep 20 Javascript
JS高级程序设计之class继承重点详解
Jul 07 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
新浪新闻小偷
2006/10/09 PHP
PHP中对数据库操作的封装
2006/10/09 PHP
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
如何设置mysql允许外网访问
2013/06/04 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
nodejs入门详解(多篇文章结合)
2012/03/07 NodeJs
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
2015/03/01 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
Angular.js中$apply()和$digest()的深入理解
2016/10/13 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
vue2.0在没有dev-server.js下的本地数据配置方法
2018/02/23 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
jQuery实现基本动画效果的方法详解
2018/09/06 jQuery
Vue组件教程之Toast(Vue.extend 方式)详解
2019/01/27 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
vue.js实现双击放大预览功能
2020/06/23 Javascript
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
Python可变参数函数用法实例
2015/07/07 Python
详解Python中映射类型的内建函数和工厂函数
2015/08/19 Python
Python ldap实现登录实例代码
2016/09/30 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
Maje德国官网:法国女性成衣品牌
2017/02/10 全球购物
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
数据库连接池的工作原理
2012/09/26 面试题
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书
超外差式晶体管收音机的组装与统调
2021/04/22 无线电
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL
服务器SVN搭建图文安装过程
2022/06/21 Servers