首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用jquery在选择菜单onChange中获取选项的值?

如何使用jquery在选择菜单onChange中获取选项的值?
EN

Stack Overflow用户
提问于 2013-03-21 11:48:04
回答 4查看 6.1K关注 0票数 4

我试图使用ScrollectBox插件实现克隆选择菜单:

https://github.com/afEkenholm/ScrollectBox/blob/master/index.html

https://github.com/afEkenholm/ScrollectBox/blob/master/js/ScrollectBox/jquery.scrollectbox.js

但是我无法获得选择菜单的选项值。它将返回选项文本。

如何使用onChange调用函数在以下选择菜单jQuery中获得选项的值(而不是文本)?

代码语言:javascript
运行
复制
<script type="text/javascript">
jQuery(document).ready(function($){ 
   $(".selection").scrollectBox({
    preset: 'dropdown',
    numVisibleOptions: 4,
    scrollInterval: 150, 
    scrollOn: 'hover'
    });
});
</script>
代码语言:javascript
运行
复制
    <select onchange="function(this);" id="selector" class="selection" >
    <option value="" selected="Select Topic">Select Topic</option> 
    <option value="Food">Food</option>
    <option value="Drink">Drink</option>
    </select>

不工作

代码语言:javascript
运行
复制
<script type="text/javascript">
jQuery(document).ready(function($){ 
   var selectEvent = function($el){
someFunction($(this).val());
return false;
};
   $(".selection").scrollectBox({
    preset: 'dropdown',
    numVisibleOptions: 4,
    onSelectEvent: selectEvent,
    scrollInterval: 150, 
    scrollOn: 'hover'
    });
});
</script>

它返回[object Object]

不工作

代码语言:javascript
运行
复制
    <script type="text/javascript">
jQuery(document).ready(function($){ 
    $(".selection").scrollectBox({
        preset: 'dropdown',
        numVisibleOptions: 4,
        scrollInterval: 150, 
        scrollOn: 'hover',
        onSelectEvent: function (item, event) {
           alert(item).val();
        }
    });
});
</script>

它返回[object Object]

EN

回答 4

Stack Overflow用户

发布于 2013-03-21 11:52:07

根据ScrollectBox的源代码,您必须使用onSelectEvent属性,如下所示:

代码语言:javascript
运行
复制
jQuery(document).ready(function($){ 
    $(".selection").scrollectBox({
        preset: 'dropdown',
        numVisibleOptions: 4,
        scrollInterval: 150, 
        scrollOn: 'hover',
        onSelectEvent: function (item, event) {
           alert(item.val());
        }
    });
});
票数 4
EN

Stack Overflow用户

发布于 2013-03-21 11:52:20

您可以通过:$("#selector option:selected")引用所选选项

代码语言:javascript
运行
复制
$("#selector").change(function() {
   var selectedValue = $("#selector option:selected").val();
   alert('Selected value ' + selectedValue);
});

JS Fiddle: http://jsfiddle.net/Y7byM/1/

编辑

您可以从您的评论中将#selector更改为.selector

代码语言:javascript
运行
复制
$(".selection").change(function() {
   var selectedValue = $(".selector option:selected").val();
   alert('Selected value ' + selectedValue);
});
票数 3
EN

Stack Overflow用户

发布于 2013-03-21 11:53:17

试过这个吗?

代码语言:javascript
运行
复制
$('#selector').change(function() {
           // assign the value to a variable, so you can test to see if it is working.
            var selectVal = $('#selector :selected').val();
            alert(selectVal);
        });
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15546670

复制
相关文章

相似问题

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