jquery - 仅选择具有类名的选项
问题描述
默认情况下,所有选项都被选中。然后从click
返回类名(zzz)的事件中,我只想显示带有 class='zzz' 的选项的其余部分
$(document).on('click', ".test" , function() {
var selectedParent = $(this).val();
alert(selectedParent); //returns zzz
$('#users> option').each(function(){
if ($(this).hasClass( "selectedParent" )){
$(this).show();
} else {
$(this).hide();
});
});
<select multiple="true" id="users" name="users[]">
<option selected="selected" value="1" class="zzz">User 1</option>
<option selected="selected" value="2" class="zzz">User 2</option>
<option selected="selected" value="3" class="aaa">User 3</option>
<option selected="selected" value="4" class="aaa">User 4</option>
</select>
解决方案
问题是你引用了selectedParent
,所以它没有使用变量值。
此外,.each()
您可以将类替换为选择器,而不是使用 。
$(document).on('click', ".test", function() {
var selectedParent = $(this).val();
$(`#users > option.${selectedParent}`).show();
$(`#users > option:not(.${selectedParent})`).hide();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select multiple="true" id="users" name="users[]">
<option selected="selected" value="1" class="zzz">User 1</option>
<option selected="selected" value="2" class="zzz">User 2</option>
<option selected="selected" value="3" class="aaa">User 3</option>
<option selected="selected" value="4" class="aaa">User 4</option>
</select>
<br>
<button class="test" value="zzz">ZZZ</button>
<button class="test" value="aaa">AAA</button>
推荐阅读
- python - 如何覆盖所有 Auth 内置模板 Django
- azure - 无法在 MS Authenticator 中选择我的帐户
- javascript - 在 Array 中反应条件渲染
- angular - 带有 requestAnimationFrame 问题的 Angular 组件
- python - 当列表包含负值时如何引发异常
- excel - 从另一个工作簿复制工作表时,如何阻止 Excel 格式化日期?
- microsoft-graph-api - 在 JAVA SDK 中使用 delta 查询时,我们可以获得已删除项目的接收日期吗?
- php - 在同一个 S3 存储桶中进行复制是否已优化?
- google-apps-script - 数据集制作范围的下拉填充
- node.js - pool.request() 不是函数