我想从第一个下拉列表中选择顶部打开c92下拉列表 当我选择低以打开带引导程序的c97下拉列表时。
我不想在隐藏列表之间休息。有什么想法吗?
<div class="form-group c86 required" data-cid="c86">
<label class="control-label" for="c86">Product</label>
<div class="input-group">
<span class="input-group-addon left"><i class="fa fa-product-hunt"></i> </span>
<select class="form-control" id="c86" name="c86" data-rule-required="true">
<option value="">- Select -</option>
<option value="top">top</option>
<option value="low">low</option>
</select>
</div>
</div>
<div class="form-group c92 " data-cid="c92">
<label class="control-label" for="c92" style="display: none">Mattress</label>
<div class="input-group">
<span class="input-group-addon left"><i class="fa fa-check-circle"></i> </span>
<select class="form-control" id="c92" name="c92" style="display: none">
<option value="">- Select -</option>
<option value="One">One</option>
<option value="Two">Two</option>
<option value="Three">Three</option>
</select>
</div>
</div>
<div class="form-group c97 " data-cid="c97">
<label class="control-label" for="c97" style="display: none">Sofa</label>
<div class="input-group">
<span class="input-group-addon left"><i class="fa fa-circle-o"></i> </span>
<select class="form-control" id="c97" name="c97" style="display: none">
<option value="">- Select -</option>
<option value="One">One</option>
<option value="Two">Two</option>
<option value="Three">Three</option>
</select>
</div>
</div>
答案 0 :(得分:0)
这就像你之后的那样吗?。
ps:您可以运行代码段..
var
c86 = $('#c86'),
c92 = $('#c92');
function selChange() {
var
v = c86.find('option:selected').val(),
vtop = c92.find('option:selected').val();
$('[data-cid=c92]').toggleClass('hidden',
v !== 'top');
$('[data-cid=c97]').toggleClass('hidden',
v !== 'low');
console.log(vtop, v);
$('[data-cid=c_one]').toggleClass('hidden',
!(v === 'top' && vtop === 'One'));
}
c86.change(selChange);
c92.change(selChange);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="form-group c86 required" data-cid="c86">
<label class="control-label" for="c86">Product</label>
<div class="input-group"><span class="input-group-addon left"><i class="fa fa-product-hunt"></i> </span>
<select class="form-control" id="c86" name="c86" data-rule-required="true">
<option value="">- Select -</option>
<option value="top">top</option>
<option value="low">low</option>
</select>
</div>
</div>
<div class="hidden form-group c92 " data-cid="c92">
<label class="control-label" for="c92">Mattress</label>
<div class="input-group"><span class="input-group-addon left"><i class="fa fa-check-circle"></i> </span>
<select class="form-control" id="c92" name="c92">
<option value="">- Select -</option>
<option value="One">One</option>
<option value="Two">Two</option>
<option value="Three">Three</option>
</select>
</div>
</div>
<div class="hidden form-group c97 " data-cid="c97">
<label class="control-label" for="c97">Sofa</label>
<div class="input-group"><span class="input-group-addon left"><i class="fa fa-circle-o"></i> </span>
<select class="form-control" id="c97" name="c97">
<option value="">- Select -</option>
<option value="One">One</option>
<option value="Two">Two</option>
<option value="Three">Three</option>
</select>
</div>
</div>
<div class="hidden form-group c_one " data-cid="c_one">
<label class="control-label" for="c_one">Test 2</label>
<div class="input-group"><span class="input-group-addon left"><i class="fa fa-circle-o"></i> </span>
<select class="form-control" id="c_one" name="c_one">
<option value="">- Select -</option>
<option value="A">Top One</option>
<option value="B">Was</option>
<option value="C">Selected</option>
</select>
</div>
</div>
答案 1 :(得分:0)
将id放在div包装器上并隐藏它,使用onchange
事件来调用函数displayForm
,当select更改它检查值时,然后按id显示/隐藏包装器元素。
function displayForm(elem){
if(elem.value == "top") {
document.getElementById('c97').style.display = "none";
document.getElementById('c92').style.display = "block";
} else {
document.getElementById('c92').style.display = "none";
document.getElementById('c97').style.display = "block";
}
}
<div class="input-group"><span class="input-group-addon left"><i class="fa fa-product-hunt"></i> </span>
<select class="form-control" onchange="displayForm(this)" id="c86" name="c86" data-rule-required="true"
<option value="">- Select -</option>
<option value="top">top</option>
<option value="low">low</option>
</select>
</div>
</div>
<div id="c92" style="display: none" class="form-group c92 " data-cid="c92">
<label class="control-label" for="c92" >Mattress</label>
<div class="input-group"><span class="input-group-addon left"><i class="fa fa-check-circle"></i> </span>
<select class="form-control" name="c92"
>
<option value="">- Select -</option>
<option value="One">One</option>
<option value="Two">Two</option>
<option value="Three">Three</option>
</select>
</div>
</div>
<div id="c97" class="form-group c97 " style="display: none" data-cid="c97">
<label class="control-label" for="c97" >Sofa</label>
<div class="input-group"><span class="input-group-addon left"><i class="fa fa-circle-o"></i> </span>
<select class="form-control" name="c97"
>
<option value="">- Select -</option>
<option value="One">One</option>
<option value="Two">Two</option>
<option value="Three">Three</option>
</select>
</div>
</div>