我有一個非常簡單的網站,有一個select
菜單。問題與jQuery Dropdown
當我在下拉菜單中選擇USA
時,會出現名爲State
的輔助下拉菜單。
當我選擇Georgia
它應該只顯示Georgia
條目,但是,這是行不通的。 有人可以告訴我如何修復這個bug嗎?
演示:http://jsfiddle.net/28zwwwsw/
jQuery('#cat').change(function() {
var val = jQuery(this).val();
jQuery("#statecat").toggle(val == "usa");
if (val == "0")
jQuery('#countries_select').siblings('div').show();
else {
jQuery('form').siblings('div').hide();
jQuery('.' + val).show();
}
});
jQuery('#statecat').change(function() {
jQuery('.state1').hide();
if(jQuery(this).val() == '0'){
jQuery('.state1').show();
}else{
jQuery('.' + jQuery(this).val()).show();
}
});
jQuery("#countries_select select").change(function(){
if(jQuery(this).val() == "usa"){
jQuery("#state_select").show();
} else {
jQuery("#state_select").hide();
}
if(jQuery(this).val() == '0'){
jQuery("ul.countries > li").show()
}else{
jQuery("ul.countries > li").hide()
jQuery("ul.countries ." + jQuery(this).val()).css("display", "block")
}
})
jQuery('#languageSwitch #cat').change(function(){
if(jQuery('#languageSwitch #cat').val()=="0")
jQuery('form').siblings('li').show();
else{
jQuery('form').siblings('li').hide();
jQuery('.'+jQuery('#languageSwitch #cat').val()).show();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<form method="get" action="/" id="countries_select">
<fieldset>
\t <select name='cat' id='cat' class='postform' >
<option value='0' selected='selected'>Choose a country…</option>
<option class="level-0" value="united-kingdom">United Kingdom</option>
<option class="level-0" value="usa">USA</option>
</select>
</fieldset>
</form>
<form method="get" action="/" id="state_select" style="display:none;">
<fieldset>
\t <select name='statecat' id='statecat' class='postform' >
<option value='0' selected='selected'>Choose a state…</option>
<option class="level-0" value="ga">Georgia</option>
<option class="level-0" value="ny">New York</option>
</select>
\t
</fieldset>
</form>
<ul class="countries">
<li class="usa">
<h2>USA</h2>
<ul class="companies"> \t
<li class="company-listing" id="post-1248">
\t
\t <h4>New York Test</h4>
\t <div class="row">
\t \t <div class="medium-6 columns">
<dl class="company-data">
\t <dt>Address:</dt>
\t <dd>New York Test</dd>
\t <dt>Country:</dt>
\t <dd> USA</dd>
\t <dt>URL:</dt>
\t <dd> <a href=""></a></dd>
\t <dt>Telephone:</dt>
\t <dd> </dd>
\t <dt>Fax:</dt>
\t <dd> \t \t \t \t \t \t \t
</dl>
</div>
</li>
<li class="company-listing" id="post-1247">
\t
\t <h4>Georgia Test</h4>
\t <div class="row">
\t \t <div class="medium-6 columns">
<dl class="company-data">
\t <dt>Address:</dt>
\t <dd>Georgia</dd>
\t <dt>Country:</dt>
\t <dd> USA</dd>
\t <dt>URL:</dt>
\t <dd> <a href=""></a></dd>
\t <dt>Telephone:</dt>
\t <dd> </dd>
\t <dt>Fax:</dt>
\t <dd>
</dl>
</div>
</li>
</ul>
</li>
</ul>
我看到你提到0.0級,而在你的HTML你有水平-0級。我錯過了什麼嗎? –
@LelioFaieta對不起,我沒有關注。我在哪裏參考'.0'? – michaelmcgurk
jQuery('。'+ val).show(); val是0,因此您正在尋找顯示不在DOM中的類爲0的元素。無論如何,我也許錯看了你的代碼! –