下拉菜单:如果有任何下拉菜单=值,则显示 div
Dropdowns: IF ANY dropdown=value, show div
基本上只要选择'bfcn'就会显示BFCN
不管下一个值是否不等于BFCN,只要一个等于该值,继续显示
现在的问题是,无论何时选择其中一个,它都会隐藏 div。
if 'dropdown1 = bfcn' = 显示 DIV
要么
如果 'dropdown2 = bfcn' = 显示 DIV
如果任何下拉菜单等于 BFCN
,则需要保持 DIV 显示
http://jsfiddle.net/SmokeyLlama/f375e6wv/1/
HTML
<select title="Select 1" id="select1">
<option value="">Select an option</option>
<option value="1">1</option>
<option value="4">bfcn</option>
</select>
<select title="Select 2" id="select2">
<option value="">Select an option</option>
<option value="3">3</option>
<option value="4">bfcn</option>
</select>
<p class="wireless" style="display: none;">BFCN</p>
脚本
$(document).ready(function(){
$('select').change(function(){
if (($(this).val() == '4')){
$('.wireless').show();
} else {
$('.wireless').hide();
}
});
});
为此,我将保留一个变量,如果任何 select
具有 val() == 4
,我将更新该变量:
$(document).ready(function(){
$('select').change(function(){
var show = false;
$('select').each(function () {
if ($(this).val() == 4){
show = true;
}
});
if (show){
$('.wireless').show();
} else {
$('.wireless').hide();
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select title="Select 1" id="select1">
<option value="">Select an option</option>
<option value="1">1</option>
<option value="4">bfcn</option>
</select>
<select title="Select 2" id="select2">
<option value="">Select an option</option>
<option value="3">3</option>
<option value="4">bfcn</option>
</select>
<p class="wireless" style="display: none;">BFCN</p>
您可以执行如下操作。检查代码以获取评论,如果您有任何问题,请告诉我:
//Create references to our DOM elements
const containerEl = document.querySelector('#container');
const wirelessEl = document.querySelector('.wireless');
const selectEls = document.querySelectorAll('select');
//Check if one of the select elements has the required value onchange
const onChange = e => {
const [select1, select2] = Array.from(selectEls);
if (select1.value === '4' || select2.value === '4') {
wirelessEl.style.display = 'inline';
} else {
wirelessEl.style.display = 'none';
}
};
//Use event delegation, so we only have to add 1 event listner on the parent element
containerEl.addEventListener('change', onChange);
<div id="container">
<select title="Select 1" id="select1">
<option value="">Select an option</option>
<option value="1">1</option>
<option value="4">bfcn</option>
</select>
<select title="Select 2" id="select2">
<option value="">Select an option</option>
<option value="3">3</option>
<option value="4">bfcn</option>
</select>
</div>
<p class="wireless" style="display: none;">BFCN</p>
您可以使用 filter()
to return collection of the selects that have that value and use the length to create a boolean for toggle(display)
var $sel = $('select').change(function() {
var hasBcn = $sel.filter(function() {
return $(this).val() === '4';
}).length > 0;
$('.wireless').toggle(hasBcn);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select title="Select 1" id="select1">
<option value="">Select an option</option>
<option value="1">1</option>
<option value="4">bfcn</option>
</select>
<select title="Select 2" id="select2">
<option value="">Select an option</option>
<option value="3">3</option>
<option value="4">bfcn</option>
</select>
<p class="wireless" style="display: none;">BFCN</p>
基本上只要选择'bfcn'就会显示BFCN 不管下一个值是否不等于BFCN,只要一个等于该值,继续显示
现在的问题是,无论何时选择其中一个,它都会隐藏 div。
if 'dropdown1 = bfcn' = 显示 DIV 要么 如果 'dropdown2 = bfcn' = 显示 DIV
如果任何下拉菜单等于 BFCN
,则需要保持 DIV 显示http://jsfiddle.net/SmokeyLlama/f375e6wv/1/
HTML
<select title="Select 1" id="select1">
<option value="">Select an option</option>
<option value="1">1</option>
<option value="4">bfcn</option>
</select>
<select title="Select 2" id="select2">
<option value="">Select an option</option>
<option value="3">3</option>
<option value="4">bfcn</option>
</select>
<p class="wireless" style="display: none;">BFCN</p>
脚本
$(document).ready(function(){
$('select').change(function(){
if (($(this).val() == '4')){
$('.wireless').show();
} else {
$('.wireless').hide();
}
});
});
为此,我将保留一个变量,如果任何 select
具有 val() == 4
,我将更新该变量:
$(document).ready(function(){
$('select').change(function(){
var show = false;
$('select').each(function () {
if ($(this).val() == 4){
show = true;
}
});
if (show){
$('.wireless').show();
} else {
$('.wireless').hide();
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select title="Select 1" id="select1">
<option value="">Select an option</option>
<option value="1">1</option>
<option value="4">bfcn</option>
</select>
<select title="Select 2" id="select2">
<option value="">Select an option</option>
<option value="3">3</option>
<option value="4">bfcn</option>
</select>
<p class="wireless" style="display: none;">BFCN</p>
您可以执行如下操作。检查代码以获取评论,如果您有任何问题,请告诉我:
//Create references to our DOM elements
const containerEl = document.querySelector('#container');
const wirelessEl = document.querySelector('.wireless');
const selectEls = document.querySelectorAll('select');
//Check if one of the select elements has the required value onchange
const onChange = e => {
const [select1, select2] = Array.from(selectEls);
if (select1.value === '4' || select2.value === '4') {
wirelessEl.style.display = 'inline';
} else {
wirelessEl.style.display = 'none';
}
};
//Use event delegation, so we only have to add 1 event listner on the parent element
containerEl.addEventListener('change', onChange);
<div id="container">
<select title="Select 1" id="select1">
<option value="">Select an option</option>
<option value="1">1</option>
<option value="4">bfcn</option>
</select>
<select title="Select 2" id="select2">
<option value="">Select an option</option>
<option value="3">3</option>
<option value="4">bfcn</option>
</select>
</div>
<p class="wireless" style="display: none;">BFCN</p>
您可以使用 filter()
to return collection of the selects that have that value and use the length to create a boolean for toggle(display)
var $sel = $('select').change(function() {
var hasBcn = $sel.filter(function() {
return $(this).val() === '4';
}).length > 0;
$('.wireless').toggle(hasBcn);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select title="Select 1" id="select1">
<option value="">Select an option</option>
<option value="1">1</option>
<option value="4">bfcn</option>
</select>
<select title="Select 2" id="select2">
<option value="">Select an option</option>
<option value="3">3</option>
<option value="4">bfcn</option>
</select>
<p class="wireless" style="display: none;">BFCN</p>