jquery - 如何在下拉菜单中获取所选项目的价值?
问题描述
我正在尝试将所选下拉项的值推送到数组中,但我使用的 jQuery 命令只会推送值 1,无论选择哪个下拉项。
我一直在尝试使用的命令是:
newFriend.response.push($("#ddi1").val())
或者
newFriend.response.push($("#dropdown-q1").val())
我的代码是:
<div class="input-group mb-3">
<div class="input-group-prepend">
<button class="btn btn-outline-danger dropdown-toggle" type="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" id="dropdowns" id="chosen-q1">Make a Selection</button>
<ul class="dropdown-menu" id="dropdown-q1">
<li class="dropdown-item" id="ddi1" value="1" selected="selected">1 (Strongly Disagree)</li>
<li class="dropdown-item" id="ddi1" value="2" selected="selected">2 (Disagree)</li>
<li class="dropdown-item" id="ddi1" value="3" selected="selected">3 (Neutral)</li>
<li class="dropdown-item" id="ddi1" value="4" selected="selected">4 (Agree)</li>
<li class="dropdown-item" id="ddi1" value="5" selected="selected">5 (Strongly Agree)</li>
</ul>
</div>
</div>
解决方案
您的代码中有各种错误。首先,您选择了所有列表项,并且每个项都具有相同的 id(id 只打算使用一次)。您的按钮上还有两个 id。我建议您为此任务使用一个选项组,如下所示:
$("#dropdown-q1").change(function() {
var $x = $('#dropdown-q1 :selected').val();
console.log ($x)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="input-group mb-3">
<div class="input-group-prepend">
<button class="btn btn-outline-danger dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" id="chosen-q1">Make a Selection</button>
<br><br>
<select class="dropdown-menu" id="dropdown-q1">
<option class="dropdown-item" id="ddi1" value="1" selected="selected">1 (Strongly Disagree)</option>
<option class="dropdown-item" id="ddi2" value="2">2 (Disagree)</option>
<option class="dropdown-item" id="ddi2" value="3" >3 (Neutral)</option>
<option class="dropdown-item" id="ddi4" value="4" >4 (Agree)</option>
<option class="dropdown-item" id="ddi5" value="5" >5 (Strongly Agree)</option>
</select>
</div>
</div>
您可以使用警报,但 console.log 更整洁..
希望这可以帮助
推荐阅读
- javascript - Chrome 扩展获取选择
- azure - Azure CDN over Storage 帐户的 DR
- git - 致命:协议错误:坏行长度 819264.11 MiB/s
- html - 在新部署 Firebase 托管时强制清除用户浏览器上的缓存
- javascript - 编程排序功能在制表器中不起作用
- spring - 将 Spring Security 添加到 Spring Boot 应用程序后找不到请求属性
- swift - Swift 5.1 我可以在另一个视图控制器中访问结构实例声明吗?
- maven - Maven项目无法解析pom
- javascript - 关闭 HTML5 视频播放器的替代方法
- sql - Node.js 加载资源失败