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 相关文章推荐
node.js中的http.response.getHeader方法使用说明
Dec 14 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
Mar 04 Javascript
sencha ext js 6 快速入门(必看)
Jun 01 Javascript
Node连接mysql数据库方法介绍
Feb 07 Javascript
vue表单绑定实现多选框和下拉列表的实例
Aug 12 Javascript
jQuery插件实现弹性运动完整示例
Jul 07 jQuery
详解如何在微信小程序开发中正确的使用vant ui组件
Sep 13 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
Nov 08 Javascript
JS扁平化输出数组的2种方法解析
Sep 17 Javascript
vue中进行微博分享的实例讲解
Oct 14 Javascript
BootstrapValidator实现表单验证功能
Nov 08 Javascript
threejs太阳光与阴影效果实例代码
Apr 05 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安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
极酷的javascirpt,让你随意编辑任何网页
2007/02/25 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
利用JQuery实现datatables插件的增加和删除行功能
2017/01/06 Javascript
javascript 中的继承实例详解
2017/05/05 Javascript
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
2017/09/20 jQuery
Angular4实现图片上传预览路径不安全的问题解决
2017/12/25 Javascript
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
CKEditor4配置与开发详细中文说明文档
2018/10/08 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
Postman环境变量全局变量使用方法详解
2020/08/13 Javascript
js实现简单商品筛选功能
2021/02/02 Javascript
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
浅析Python基础-流程控制
2016/03/18 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
Python之时间和日期使用小结
2019/02/14 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
pandas 空数据处理方法详解
2019/11/02 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
2020/02/18 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
详解如何解决canvas图片getImageData,toDataURL跨域问题
2018/09/17 HTML / CSS
Europcar葡萄牙:葡萄牙汽车和货车租赁
2017/10/13 全球购物
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
企业面试题试卷附带答案
2015/12/20 面试题
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
元宵节晚会主持人串词
2014/03/25 职场文书
大型会议策划方案
2014/05/17 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
给老婆的检讨书
2015/01/27 职场文书
python获取对象信息的实例详解
2021/07/07 Python