select下拉框作为前端开发者应该是经常使用的,最近在项目中遇到这样的情况,点击下拉框选项,需要获取所点击的option的属性值,当时想很简单啊,给option加一个点击事件不就行了,然后就加了一下,结果一运行悲催了,怎么点击option事件就是不会执行。这是为什么呢,刚开始也不懂,之前没遇到过这样的需求,后来经过学习,才恍然大悟,原来select option没有点击事件,要想获得所选option的属性值,需要通过jquery的change()方法来获取,下面通过代码解释一下,代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- 告诉IE使用最新的引擎渲染网页 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
</head>
<body>
<div>
<select id="choice">
<option value="1">东方1</option>
<option value="2">东方2</option>
<option value="3">东方3</option>
<option value="4">东方4</option>
</select>
</div>
</body>
<script src="js/jquery-2.1.4.min.js"></script>
<script>
$("#choice").change(function () {
let $dom = $("#choice");
let index = $dom[0].options[$dom[0].selectedIndex].value;
alert(index);
});
</script>
</html>

如上面代码所示,给select添加change()方法,用来监听下拉框的变化,当点击下拉框option进行选择时,select发生变化,触发change()事件,$dom[0].selectedIndex表示点击option的索引值,select option的索引值默认从0开始,$dom[0].options[$dom[0].selectedIndex]表示所点击option对象,取到对象之后就可以取相应的属性值了。在这里用到$dom[0],是因为selectedIndex和options是dom的属性,只有dom对象才能去调用,所以在这里进行了jquery对象的转换。至于jquery对象和dom对象的相互转换,我在博客中有分享,欢迎查看。

补充:上面介绍的是最基本的方法,后来在项目中使用了简单的方法:

//获取option文本

$("#choice option:selected").text();

//获取option的value值

$("#choice option:selected").val();

//获取option的属性值

$("#choice option:selected").attr("属性");

点击select下拉框获取option的属性值的更多相关文章

  1. JavaScript获取select下拉框中的第一个值

    JavaScript获取select下拉框中的第一个值 1.说明 获取select下拉框中的第一个值 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  2. Python3.x:遍历select下拉框获取value值

    Python3.x:遍历select下拉框获取value值 Select提供了三种选择方法: # 通过选项的顺序,第一个为 0 select_by_index(index) # 通过value属性 s ...

  3. 将select的默认小三角替换成别的图片,且实现点击图片出现下拉框选择option

    最近做项目,要求修改select下拉框的默认三角样式,因为它在不同浏览器的样式不同且有点丑,找找网上也没什么详细修改方法,我就总结一下自己的吧. 目标是做成下图效果: 图一:将默认小三角换成红圈的三角 ...

  4. 2. select下拉框获取选中的值

    1.获取select选中的value值: $("#select1ID").find("option:selected").val();  --select1ID ...

  5. 点击select下拉框,触发事件

    <div class="controls moneycheck floatleft"> <select class="span12 chosen_cat ...

  6. select下拉框获取下拉项值的问题

    新发现: select option如果里面不写value值,默认提交<option></option>中间的值. 切记:真正提交的值写在value属性里面,option之间只 ...

  7. 如何获取select下拉框中option选中的文本值

    $(select的id或者class).change(function(){ $(this).find("option:selected").text() }) 源文:https: ...

  8. jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等

    简介jquery里对select进行各种操作的方法,如联动.取值.根据值或文本来选中指定的select下拉框指定的option选项,读取select选中项的值和文本等. 这一章,站长总结一下jquer ...

  9. JQuery操作select下拉框

    JQuery操作select下拉框 获取Select选择的Text和Value $("#select_id").change(function(){//code...}); //为 ...

随机推荐

  1. webpack 与 vue 打包体积优化

    webpack 与 vue 在使用vue开发时,遇到打包后单个文件太大,因而需要分包,不然加载时间太久.虽然尽可能减少请求次数,但是单个包太大也不是好事 思路 组件按需加载 vue-router 的懒 ...

  2. Java内存可见性

    如果一个线程对共享变量的修改,能够被其它线程看到,那么就能说明共享变量在线程之间是可见的.如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量.Java内存模型(Java ...

  3. pycurl安装

    pip install pycurl 出现:Could not run curl-config: [Errno 2] No such file or directory: 'curl-config': ...

  4. [Hibernate] One-To-Many 配置文件和注解的方式以及HQL语句

    一对多需要在一的类配置多的类的set泛型集合. 多的一端需要添加一的类作为属性,其和数据库对应的是对应表的主键. 一个购物车有多个商品,购物车有个cart_id作为主键,商品除了自己的items_id ...

  5. ionic3 双向数据绑定失效 脏值检测失效

    最近在使用ionic3过程中,使用了eval()方法进行字符串拼接成一个function使用 在eval()方法中,只能使用局部变量,全局变量无法使用,ionic3的this在eval中失效(unde ...

  6. 『关键点检测』CPN:Cascaded Pyramid Network for Multi-Person Pose Estimation

    论文连接 网络简介 face++2017年coco keypoint benchmark 数据集冠军的文章,发表于CVPR201 1  提出了一种金字塔型的串接模型,即CPN(cascaded pyr ...

  7. arrow function、function.apply

    An arrow function expression has a shorter syntax than a function expression and does not have its o ...

  8. UTC,BJT时间的换算

    题目内容:UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果小时小于10,则没有千位 ...

  9. 【C/C++】内存基础

    1. 基本数据类型 short s = 0x4142; // 16进制 char c = *(char*)&s; cout << c << endl; 我的电脑上输出为 ...

  10. js利用sort()方法实现数组排序

    1.number类型排序 let aa = [1,11,2,4,3] aa.sort() console.log(aa) //[1,11,2,3,4] aa.sort((a,b)=>a-b) c ...