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中的常见排序算法
Mar 27 Javascript
jsTree树控件(基于jQuery, 超强悍)[推荐]
Sep 01 Javascript
jquery ready函数源代码研究
Dec 06 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
Apr 24 Javascript
javascript获取元素偏移量的方法有哪些
Jun 24 Javascript
jquery+json实现分页效果
Mar 07 Javascript
动态加载js、css的实例代码
May 26 Javascript
js实时获取窗口大小变化的实例代码
Nov 18 Javascript
微信小程序 地图map实例详解
Jun 07 Javascript
动态Axios的配置步骤详解
Jan 12 Javascript
vue-prop父组件向子组件进行传值的方法
Mar 01 Javascript
ES6 fetch函数与后台交互实现
Nov 14 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的引用计数机制
2013/06/14 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
2016/04/22 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
javascript各浏览器中option元素的表现差异
2011/04/07 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
2013/09/27 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
javascript等号运算符使用详解
2015/04/16 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
AngularJS学习第二篇 AngularJS依赖注入
2017/02/13 Javascript
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
Node.js系列之安装配置与基本使用(1)
2019/08/30 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
详解用Python处理HTML转义字符的5种方式
2017/12/27 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
Python中查看变量的类型内存地址所占字节的大小
2019/06/26 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
Keras 加载已经训练好的模型进行预测操作
2020/06/17 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
2020/06/29 Python
python爬取youtube视频的示例代码
2021/03/03 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
电子商务专业个人的自我评价
2013/11/19 职场文书
邮政员工辞职信
2014/01/16 职场文书
语文教研活动总结
2014/07/02 职场文书
2015年六一儿童节活动方案
2015/05/05 职场文书
有关三国演义的读书笔记
2015/06/25 职场文书
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
MySQL空间数据存储及函数
2021/09/25 MySQL
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技