javascript - 如何确定在下拉列表中选择了哪个选项?

标签 javascript jquery html drop-down-menu

我有一个值的下拉菜单:

            <select class="notifications-dropdown">
                <option value="val1">Val4</option>
                <option value="val2">Val3</option>
                <option value="val3">Val2</option>
                <option value="val4">Val1</option>
            </select>

我想做到这一点,以便当用户从下拉列表中选择其中一个选项时,该选项有一个 ' selected ' 属性已打开。例如,如果用户单击下拉菜单并选择 Val3,则 DOM 应更改如下:

            <select class="notifications-dropdown">
                <option value="val1">Val4</option>
                <option value="val2" selected>Val3</option>
                <option value="val3">Val2</option>
                <option value="val4">Val1</option>
            </select>

我不确定要监听什么 jQuery 事件才能知道用户何时选择一个选项。我试着听 change事件于 .notifications-dropdown但生成的事件对象没有给我任何有关选择哪个选项的指示。如何确定在下拉列表中选择了哪个选项?

最佳答案

只需使用 .val()在您的选择列表中。

$('.notifications-dropdown').change(function() {
    alert($(this).val());
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="notifications-dropdown">
    <option value="val1">Val4</option>
    <option value="val2">Val3</option>
    <option value="val3">Val2</option>
    <option value="val4">Val1</option>
</select>

this 在 jQuery 回调内部使用时是发生事件的元素。

关于javascript - 如何确定在下拉列表中选择了哪个选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31793810/

相关文章:

javascript - ASP.NET RadioButtonList 和渐进式增强

javascript - 我的 javascript 函数在没有被调用的情况下运行是有原因的吗?

javascript - 在 ie8 中添加选项时动态选择卡住

html - 将导航栏右对齐

javascript - 打印iframe内容

javascript - 如何在不使用 req 和 res.locals 的情况下在 NodeJS 中实现 ThreadLocal 变量功能?

php - 使用 AJAX 加载具有 html/js 的页面

javascript - 如何在 JavaScript 中将字符串的某些部分标记为代码

javascript - 从 select jquery 中删除所有选项,但只有一个

javascript - 为什么我的 jquery 插件在我将它放入 div 容器后停止工作?