未选择选项值时删除 div
remove div when option value unselected
这有什么问题吗?
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";
}
}
有两个选项,一个是FLIGHT,另一个是REGION
<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>
当我 select FLIGHT 输入字段 Flights 出现但是当我 select REGION输入域
航班 仍在显示。
我希望它在 select REGION.
之后消失
请帮忙。
你需要更改这个,因为它总是 return true:
if(admOptionValue === nameSelect.value){
给这个:
if (admOptionValue === "FLIGHT") {
问题是 nameSelect.value
与 document.getElementById("admOption").value
相同,因为 nameSelect 变量实际上指向相同的元素,这是通过使用 [=16] 调用 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 语句以显示所需的文本字段。
这有什么问题吗?
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";
}
}
有两个选项,一个是FLIGHT,另一个是REGION
<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>
当我 select FLIGHT 输入字段 Flights 出现但是当我 select REGION输入域 航班 仍在显示。 我希望它在 select REGION.
之后消失请帮忙。
你需要更改这个,因为它总是 return true:
if(admOptionValue === nameSelect.value){
给这个:
if (admOptionValue === "FLIGHT") {
问题是 nameSelect.value
与 document.getElementById("admOption").value
相同,因为 nameSelect 变量实际上指向相同的元素,这是通过使用 [=16] 调用 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 语句以显示所需的文本字段。