select下拉框的选择事件,以及如何获取到具体的值

本文介绍如何使用 JavaScript 监听 HTML 中 Select 下拉菜单的选择变化事件,并获取所选选项的值。

HTML如下:

<div class="col-sm-3">
                <select class="form-select form-select-sm" name="province"><option value="北京市">北京市</option><option value="天津市">天津市</option><option value="河北省">河北省</option><option value="山西省">山西省</option><option value="内蒙古自治区">内蒙古自治区</option><option value="辽宁省">辽宁省</option><option value="吉林省">吉林省</option><option value="黑龙江省">黑龙江省</option><option value="上海市">上海市</option><option value="江苏省">江苏省</option><option value="浙江省">浙江省</option><option value="安徽省">安徽省</option><option value="福建省">福建省</option><option value="江西省">江西省</option><option value="山东省">山东省</option><option value="河南省">河南省</option><option value="湖北省">湖北省</option><option value="湖南省">湖南省</option><option value="广东省">广东省</option><option value="广西壮族自治区">广西壮族自治区</option><option value="海南省">海南省</option><option value="重庆市">重庆市</option><option value="四川省">四川省</option><option value="贵州省">贵州省</option><option value="云南省">云南省</option><option value="西藏自治区">西藏自治区</option><option value="陕西省">陕西省</option><option value="甘肃省">甘肃省</option><option value="青海省">青海省</option><option value="宁夏回族自治区">宁夏回族自治区</option><option value="新疆维吾尔自治区">新疆维吾尔自治区</option><option value="台湾省">台湾省</option><option value="香港特别行政区">香港特别行政区</option><option value="澳门特别行政区">澳门特别行政区</option></select>
</div>

具体图片

获取select,然后绑定change事件

qs('.modal-body [name=province]').addEventListener('change', function (e) {
    console.log(e.target.value);//通过这玩意可以获得下拉框的值哦
    // console.log(e);
})

 这样就可以获取到你点击的每一个option的值,并且只有当select发生改变的时候才会触发

e.target是获取当前事件源,那它的值自然就是我们想要的

<think> 我们正在回答用户的问题:使用jQuery获取当前select下拉框选择的方法 根据引用[1]、[2]、[3]和[4],我们可以总结出以下几种方法: 1. 使用jQuery的val()方法直接获取选中的(最常用) 2. 通过选择获取选中的option,然后获取或文本 具体方法如下: </think> ### jQuery获取select下拉框当前选择的方法 #### 1. **基础方法:使用`val()`函数** ```javascript // 获取选中的 const selectedValue = $('#yourSelectID').val(); // 示例:ID为fruitSelect下拉框 const fruit = $('#fruitSelect').val(); console.log("选中的:" + fruit); // 输出如"Apple" ``` - **说明**: - `$('#yourSelectID')` 通过ID定位select元素 - `.val()` 直接返回选中项的value属性 - **最佳实践**:当只需要且元素有ID时最简洁高效[^1][^2] #### 2. **通过选中项获取** ```javascript // 获取选中项的value const value = $('select[name=yourName] option:selected').val(); // 示例:name为color的下拉框 const color = $('select[name=color] option:selected').val(); ``` - **说明**: - `option:selected` 伪类选择器定位当前选中项 - 适用场景:当元素没有ID但知道name属性时[^1][^3] - 组合写法:`$('select[name=sii] option:selected')` #### 3. **获取选中项的文本内容** ```javascript // 获取显示的文本(非value) const text = $('#yourSelectID option:selected').text(); // 示例:获取选中的水果名称 const fruitName = $('#fruitSelect option:selected').text(); console.log("显示文本:" + fruitName); // 输出如"苹果" ``` - **说明**: - `.text()` 返回option标签间的文本内容 - 与`.val()`的区别:获取的是界面显示的文本而非value属性[^1][^2] #### 4. **完整示例** ```html <select id="product" name="product"> <option value="p1">iPhone</option> <option value="p2" selected>MacBook</option> <option value="p3">iPad</option> </select> <script> // 页面加载时获取默认选中 console.log("默认:" + $('#product').val()); // 输出"p2" // 监听选择变化 $('#product').change(function() { console.log("新:" + $(this).val()); console.log("新文本:" + $(this).find('option:selected').text()); }); </script> ``` - **输出结果**: ``` 默认:p2 (选择iPad后) 新:p3 新文本:iPad ``` #### 5. **特殊场景处理** **获取多选下拉框**: ```javascript // 需要map遍历获取所有选中 const multiValues = $('#multiSelect option:selected').map(function() { return $(this).val(); }).get(); console.log(multiValues); // 返回数组如["opt1","opt3"] ``` **无选中项时的处理**: ```javascript const val = $('#emptySelect').val() || 'default'; ``` > **关键点**: > - 优先使用`$('#id').val()`获取(最简洁) > - 需要显示文本时用`.text()` > - 监听`change`事件实时获取最新选择[^2] > - 多选需配合`.map()`处理[^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Motion_zq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值