jQuery获取下拉框(select)的显示值和真实值

本文详细介绍了如何使用jQuery获取HTML select元素的显示值和真实值,包括选择不同方式的选择器和相应的代码实现。
有如下HTML代码:
<select id="sel">
<option selected value="111">111aaa</option>
<option value="222">222aaa</option>
</select>

想通过jQuery获取select的显示值和真实值:
显示值:$("#sel option[selected]").text(); --结果为111aaa

真实值:$("#sel option[selected]").val(); --结果为111
#sel 是select的id
option 表示select下的所有option
[selected] 表示具有selected属性的option

也可以这样:
显示值:$("#sel option:selected").text(); --结果为111aaa

真实值:$("#sel option:selected").val(); --结果为111
这样也行:
显示值:$("#sel > option:selected").text(); --结果为111aaa

真实值:$("#sel > option:selected").val(); --结果为111
<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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值