首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于多个选择的jQuery -循环选择选项文本

用于多个选择的jQuery -循环选择选项文本
EN

Stack Overflow用户
提问于 2014-06-28 16:54:21
回答 1查看 3.8K关注 0票数 2

我试图从多个选择选项中提取文本,我已经尝试用以下代码提取每个选项的值,但是当我使用.text()时,我得到了所有的选项文本,而不是选择的文本。

代码语言:javascript
复制
    $('#mySelects > .form-group select').each(function(){
            alert($(this).val());
    });

下面是HTML的一个示例

代码语言:javascript
复制
    <div id="mySelects" class="panel-body">
        <div class="form-group">
           <select name="select-1" id="select-1" class="form-control">
         <option selected="selected" value="0">Please Select</option>
         <option value="11700599">Test Value 1</option>
           </select>
        </div>

        <div class="form-group">
           <select name="select-2" id="select-2" class="form-control">
         <option selected="selected" value="0">Please Select</option>
         <option value="11700467">Test Value 2</option>
           </select>
   </div>

我的当前jQuery将返回:0, 0,我希望它返回:"Please Select", "Please Select" (或任何选定的文本)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-28 16:58:13

这是因为当对val()元素调用时,<select>将返回所选子<option><option>属性。但是,当您在.text()上调用$(this)时,您将获取整个<select>元素本身中的所有文本节点。所以,用这个代替:

代码语言:javascript
复制
$('#mySelects > .form-group select').each(function(){
    var $optText = $(this).find('option:selected');
    alert($optText.text());
});

这里有一个概念的证明:http://jsfiddle.net/teddyrised/7vvX7/

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24469027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档