我的網站上有以下代碼摘錄(也可作爲jsFiddle)。這是根據選擇顯示不同數據的2個選擇字段。我有2個錯誤。簡單的jQuery鏈式下拉問題
1)當我選擇US
&然後Alaska
,阿拉斯加div(ak
)div不顯示,因爲我希望。
&
2)當我從Alaska
搬回Choose a state...
它再次顯示一切(英國&美國),而不是訴諸回到剛纔美國(us
)股利。幫幫我?
CODE:
<form method="get" action="/" id="languageSwitch">
<fieldset>
<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="us">US</option>
</select>
<script type="text/javascript">
jQuery('#cat').change(function(){
jQuery('#cat').change(function() {
jQuery("#statecat").toggle(jQuery(this).val() == "us");
});
if(jQuery('#cat').val()=="0")
jQuery('form#languageSwitch').siblings('div').show();
else{
jQuery('form').siblings('div').hide();
jQuery('.'+jQuery('#cat').val()).show();
}
});
</script>
</fieldset>
</form>
<form method="get" action="/" id="stateSwitch">
<fieldset>
<select name='statecat' id='statecat' class='postform' >
<option value='0' selected='selected'>Choose a state…</option>
<option class="level-0" value="ak">Alaska</option>
<option class="level-0" value="wy">Wyoming</option>
</select>
<script type="text/javascript">
jQuery('#statecat').change(function(){
if(jQuery('#statecat').val()=="0")
jQuery('form#stateSwitch').siblings('div').show();
else{
jQuery('form').siblings('div').hide();
jQuery('.'+jQuery('#statecat').val()).show();
}
});
</script>
</fieldset>
</form>
<div class="united-kingdom">
<h2>United Kingdom</h2>
<ul></ul>
</div>
<div class="us">
<h2>US</h2>
<div class="ak">
<h2>Alaska</h2><ul>
<li class="animal-listing" id="post-123">
<a href="http://localhost:8888/test/wordpress/company/kiwi-kompany/">Alaska Test</a><br />
Address:<br />Address<br />
Country: Alaska<br />
URL: http://www.somesite.co.nz<br />
Telephone: 01902<br />
Fax: 01293
</li>
<h2>Employees</h2>
<span>Me</span><br /><span></span><br /><span>(012)020-0202</span><br /><span>[email protected]</span><br /><img alt='' src='' class='avatar avatar-128 photo' height='128' width='128' /></ul></div>
<div class="as">
<h2>American Samoa</h2>
<ul></ul>
</div>
<div class="wy">
<h2>Wyoming</h2>
<ul></ul>
</div>
</ul></div>
你有很多與此代碼的問題 - 選擇選項值不匹配的類名,jQuery的選擇器指向divs的錯誤級別。我沒有列出答案中的所有變化,而是更新了你的小提琴,讓它更接近你想要的東西 - http://jsfiddle.net/Rhumborl/tpvj0jv0/3/。底線,當一些事情不起作用時,總是逐行檢查,從明顯的事情開始 - 每個人都會時不時地遇到錯誤,但是他們經歷過...... – Rhumborl 2014-11-05 17:53:08