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 相关文章推荐
jQuery下的几个你可能没用过的功能
Aug 29 Javascript
在jQuery中 常用的选择器介绍
Apr 16 Javascript
jQuery在html有效在jsp无效的原因及解决方法
Aug 02 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
May 23 Javascript
用JavaScript实现用一个DIV来包装文本元素节点
Sep 09 Javascript
jQuery实现HTML5 placeholder效果实例
Dec 09 Javascript
jQuery子属性过滤选择器用法分析
Feb 10 Javascript
JavaScript的事件代理和委托实例分析
Mar 25 Javascript
js实现tab切换效果
Feb 16 Javascript
JS中Promise函数then的奥秘探究
Jul 30 Javascript
浅谈express.js框架中间件(middleware)
Apr 07 Javascript
Vue修改项目启动端口号方法
Nov 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
Yii实现自动加载类地图的方法
2015/04/01 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
如何用PHP来实现一个动态Web服务器
2015/07/29 PHP
PHP+Ajax+JS实现多图上传
2016/05/07 PHP
JQery jstree 大数据量问题解决方法
2010/03/09 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
2013/01/27 Javascript
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
javascript时间函数大全
2014/06/30 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
微信小程序实现美团菜单
2018/06/06 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
jQuery实现动态添加和删除input框实例代码
2019/03/26 jQuery
vue项目首屏打开速度慢的解决方法
2019/03/31 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
前端深入理解Typescript泛型概念
2020/03/09 Javascript
如何用itertools解决无序排列组合的问题
2017/05/18 Python
老生常谈Python序列化和反序列化
2017/06/28 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
详解Python学习之安装pandas
2019/04/16 Python
解决python中使用PYQT时中文乱码问题
2019/06/17 Python
PyQt5中向单元格添加控件的方法示例
2020/03/24 Python
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
小学生纪念九一八事变演讲稿
2014/09/14 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
入党申请书怎么写?
2019/06/21 职场文书
Nginx 过滤静态资源文件的访问日志的实现
2021/03/31 Servers
PyQt5结合QtDesigner实现文本框读写操作
2021/06/11 Python
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS