这怎么了?
function admSelectCheck(nameSelect)
{
console.log(nameSelect);
if(nameSelect){
admOptionValue = document.getElementById("admOption").value;
if(admOptionValue === nameSelect.value){
document.getElementById("admDivCheck").style.display = "block";
}
else{
document.getElementById("admDivCheck").style.display = "none";
}
}
else{
document.getElementById("admDivCheck").style.display = "none";
}
}
有两个选项,一个名为“飞行”,另一个是“区域”
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Type:</strong>
{!! Form::select('type', \App\Destination::getEnum('type'),\App\Destination::getEnum('type'), array('onchange' => "admSelectCheck(this);", 'id' => "admOption")) !!}
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group" id="admDivCheck" style="display:none;">
<strong>Flights:</strong>
{!! Form::text('flights_data', null, array('class' => 'form-control')) !!}
</div>
</div>
当我选择飞行时,输入字段会显示航班,但是当我选择地区时,输入字段
航班仍在出现。
选择区域后,我希望它消失。
请帮忙。
最佳答案
您需要更改它,因为它总是返回true:
if(admOptionValue === nameSelect.value){
对此:
if (admOptionValue === "FLIGHT") {
问题在于
nameSelect.value
与document.getElementById("admOption").value
相同,因为nameSelect变量实际上指向同一元素,而这是通过使用this
引用调用javascript函数来完成的。样品:
function admSelectCheck(nameSelect) {
if (nameSelect) {
admOptionValue = document.getElementById("admOption").value;
if (admOptionValue === "FLIGHT") {
document.getElementById("admDivCheck").style.display = "block";
} else {
document.getElementById("admDivCheck").style.display = "none";
}
} else {
document.getElementById("admDivCheck").style.display = "none";
}
}
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Type:</strong>
<select id="admOption" onchange="admSelectCheck(this);">
<option>REGION</option>
<option>FLIGHT</option>
</select>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group" id="admDivCheck" style="display:none;">
<strong>Flights:</strong>
<input type="text" class="form-control" value="flights data" />
</div>
</div>
对于您的情况,如果选择了
FLIGHTS
选项,则必须将航班条件添加到if语句中,以显示必需的文本字段。