我正在尝试在选择菜单中查找并隐藏多个选项。
这是我的菜单
<select class="form-control" name="settingsColumnAggregate" id="settingsColumnAggregate">
<option value="None" selected="">None</option>
<option value="Sum">Sum</option>
<option value="Avg">Avg</option>
<option value="Count">Count Distinct</option>
<option value="Max">Max</option>
<option value="Min">Min</option>
</select>
我想要隐藏价值在["Sum","Ave","Max","Min"]
这是我试过的
$('#settingsColumnAggregate')
.find('option[value="Sum"][value="Avg"][value="Max"][value="Min"]')
.hide();
但这不起作用。
如何通过值列表正确选择多个选项? 这是我试过的
答案 0 :(得分:2)
您必须遍历所有选项或使用filters()
var arr = ["Sum","Avg","Max","Min"];
$('#settingsColumnAggregate option').filter(function(){
return jQuery.inArray( this.value, arr ) !== -1
}).hide();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="form-control" name="settingsColumnAggregate" id="settingsColumnAggregate">
<option value="None" selected="">None</option>
<option value="Sum">Sum</option>
<option value="Avg">Avg</option>
<option value="Count">Count Distinct</option>
<option value="Max">Max</option>
<option value="Min">Min</option>
</select>
&#13;
或者使用find
和多个选择器虽然有点杂乱但难以阅读。您忘记在代码中添加,
,将其视为单选择器。
$('#settingsColumnAggregate')
.find('option[value="Sum"],option[value="Avg"],option[value="Max"],option[value="Min"]')
.hide();
答案 1 :(得分:1)
您的查询完全错误,您试图选择属性option
等于value
,等于Sum
,等于{{1}的元素Avg
我认为,同时等于Max
,这不存在事件。所以,你的查询必须是这样的:
Min
请注意,我已将每个选项与昏迷分开。
上的文档