【发布时间】:2020-04-09 05:50:43
【问题描述】:
我有一个包含 4 个元素的下拉列表,例如
'All', 'Fi', 'Cu', 'Common'.
这里,只有当其中没有元素时,才允许用户选择'All'。如果其中至少有一个元素说'Cu',并且如果用户选择'All',则必须阻止选择并且'All'将从下拉列表中删除。
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.css"></script>
<div style="padding:10px;width:200px;">
<select id="du_select" class="ui fluid dropdown" name="du_graph_types" multiple="">
<option value="">Select DU</option>
<option value="all">All</option>
<option value="copper">Copper</option>
<option value="fiber">Fiber</option>
<option value="common">Common</option>
</select>
</div>
<script type="text/javascript">
$('#du_select').dropdown({
onChange: function(value, text, $selectedItem) {
// custom action
if (value.length > 1 && value.includes('all')) {
const index = value.indexOf('all');
if (index > -1) {
value.splice(index, 1);
}
console.log('sel_items : ' + value)
$('#du_select').dropdown('clear').dropdown('set selected',value)
alert('Before selecting "All", clear the existing DU type')
}
}
});
</script>
但是,在这样做的同时,元素会从下拉列表本身中删除。
我在这里犯了什么错误?
【问题讨论】: