javascript - 如何找到嵌套在元素内的下一个选择下拉菜单?
问题描述
我试图找到嵌套在另一个 div 中的下一个选择下拉菜单。
我尝试了几种不同的方法但是由于某种原因我的代码总是返回未定义。
这样做的原因是如果在第一个选择下拉列表中选择了某些值,则更改下一个下拉列表的值。
这是我的代码:
$(document).on('change', '.from select', function(e) {
console.log($(this).closest('div.to').next('.smallSelect').val());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<div class="hours" id="">
<div class="from">
<select class="smallSelect">
<option value="">Select</option>
<option value="CLOSED">CLOSED</option>
<option value="00:00">12.00 AM</option>
<option value="00:30">12.30 AM</option>
</select>
</div>
<div class="to">
<select class="smallSelect">
<option value="">Select</option>
<option value="CLOSED">CLOSED</option>
<option value="00:00">12.00 AM</option>
<option value="00:30">12.30 AM</option>
</select>
</div>
</div>
有人可以就这个问题提出建议吗?
我也试过这个没有用:
$(this).parents(".to").find(".select").val();
解决方案
您的更改处理程序绑定到 select 元素,因此您需要将 DOM 上移到.from
div,然后到.to
div 下一个兄弟,然后通过以下方式下到选择:
$(this).parent().next().find('.smallSelect').val()
$(document).on('change', '.from select', function(e) {
console.log($(this).parent().next().find('.smallSelect').val());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<div class="hours" id="">
<div class="from">
<select class="smallSelect">
<option value="">Select</option>
<option value="CLOSED">CLOSED</option>
<option value="00:00">12.00 AM</option>
<option value="00:30">12.30 AM</option>
</select>
</div>
<div class="to">
<select class="smallSelect">
<option value="">Select</option>
<option value="CLOSED">CLOSED</option>
<option value="00:00">12.00 AM</option>
<option value="00:30">12.30 AM</option>
</select>
</div>
</div>
推荐阅读
- security - 是否可以获得整个 GitHub 组织的 Dependabot 统计信息?
- python - 是否可以在“DjangoFilterBackend”的“filterset_fields”列表中使用“__date”作为“timestamp”字段
- android - 如果文本不适合 TextView,如何模糊最后几行文本
- android - 我需要使用优化路线的 mapbox 开始导航,但应用程序爆炸了
- swiftui - 如果 SwiftUI ScrollView 上有 delayscontenttouches 等价物?
- excel - 通过查找比较 excel 中的 2 组 2 列
- javascript - 在 Howler.js 中,有什么方法可以获取当前播放曲目的身份吗?
- mysql - MySQL + Django / ERROR 1045 和 CommandError
- javascript - Javascript返回未定义的值
- javascript - 如何从 Flutter Web 向 JS 脚本的 html 文件(HTMLElement、iframe)参数传递?