javascript - JQuery选择更改不显示值的选项
问题描述
当我在我的网站中选择一个选项时,它应该提醒选项的值,但在这种情况下,不会提醒该值。
但是,当我在 JSFiddle 中尝试它时,它可以工作。
我正在使用 jQuery 3.4.1 在head
标签处加载 jQuery。
我的 javascript 脚本文件位于body
标签的底部
HTML 代码
<div class = 'custom-select'>
<select id = 'choice'>
<option value = ''></option>
<option value = 'one' selected>One</option>
<option value = 'two'>Two</option>
</select>
</div>
Javascript代码
$(function() {
$('#choice').change(function() {
alert($('#choice option:selected').text());
});
});
请告诉我我错过了什么或做错了什么,谢谢。
解决方案
如果您的内容是动态添加的,您可以尝试以下操作。另外用于val()
获取选择框选项。
$(document).on('change', '#choice', (e) => {
alert($(e.target).val());
});
如果您的内容没有被动态添加,那么只需使用:
$('#choice').on('change', (e) => {
alert($(e.target).val());
});
$(document).on('change', '#choice', (e) => {
alert($(e.target).val());
});
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<div class='custom-select'>
<select id='choice'>
<option value=''></option>
<option value='one'>One</option>
<option value='two'>Two</option>
</select>
</div>
alert($("#choice > option:selected").val());
$("#choice").on("change", (e) => {
alert(($(e.target).val().length ? $(e.target).val() : "Select Something!"));
});
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<div class='custom-select'>
<select id='choice'>
<option value=''></option>
<option value='one' selected>One</option>
<option value='two'>Two</option>
</select>
</div>
推荐阅读
- django - 如何修复“str”对象不是映射错误
- gradle - npm-outdated 的 gradle 等价物是什么?
- regex - 需要我的正则表达式模式以任何顺序在任何提供的文本块中匹配多个术语
- php - CodeIgniter 查询获取位置
- c# - 是否有代码样式选项可以让 Visual Studio 不重新格式化 #pragma 指令?
- mysql - 如何比较选择独特项目的两个结果?
- r - 2个连续变量和一个分类变量
- swift - 在 Xcode 10.2 上的 Swift4.2 中插入 NSManagedObject 后,我会立即收到 Xcode 构建错误
- regexp-substr - 为什么 REGEXP_SUBSTR 读取某些字符(“L”和“RD”)与其他字符不同
- java - 如何创建 n 个子进程,将 m 个元素添加到所有子进程之间的共享列表中?