我真的需要幫助。我是jQuery
的新手,我正嘗試刷新dropdown list
,或者在選擇列表中的某個選項時更改其值。根據列表中的選擇選項刷新下拉列表
HTML
<select name="State_locate" class="State">
<option value=" " selected="selected">Select a state</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
</select>
<div id="City_1" class="Alabama">
<select name="City_location[]" class="CityExt">
<option value="Null" selected="selected">Select a city</option>
<option value="Avondale">Avondale</option>
<option value="Buckeye">Buckeye</option>
<option value="Catalina">Catalina</option>
</select>
</div>
<div id="City_1" class="Alaska">
<select name="City_location[]" class="CityExt">
<option value="Null" selected="selected">Select a city</option>
<option value="Lancaster">Lancaster</option>
<option value="Soth">Soth</option>
<option value="Foothills">Foothills</option>
</select>
</div>
JS
// JavaScript Document
$("select").bind("change", function() {
if ($(this).val() == "AL") {
$(".Alabama").slideDown();
$(".Alaska").slideUp(function() {
if ($('.Alabama').is(':visible')) {
$(".Alaska option[value='Lancaster']").attr('selected', 'selected')
}
});
} else if ($(this).val() == "AK") {
$(".Alaska").slideDown();
$(".Alabama").slideUp();
}
})
時,被選擇的狀態正是我試圖做的是,那麼一個城市的下落。這是完美的。但一旦提交,該城市的價值儲存在數組City_location[]
。
現在的問題是,如果用戶在提交表單之前選擇了阿拉斯加的一個城市,然後在阿拉巴馬州選擇另一個城市,那麼最終會有兩個城市在阿拉巴馬州和阿拉斯加州的陣列中。
我正在尋找一種方法來爲阿拉斯加州選擇值「空」,如果選擇阿拉巴馬州。但我的代碼不起作用。它只有在值是「Null」時纔有效。例如,如果我使用值「蘭開斯特」,在jQuery
代碼
$(".Alaska option[value='Lancaster']").attr('selected', 'selected')
的這一部分它只能一次。如果我做了兩次,它不會更新。我怎麼解決這個問題。
對不起,長碼。謝謝您的幫助。
你爲什麼要將它存儲在數組中?你選擇了多個值嗎? –
我將它存儲在數組中,因爲如果我不這樣做,當我提交我的表單時,我無法檢索城市,因爲選擇具有相同的名稱。這只是一個示例代碼,我正在爲所有50個州做這件事。如果我有他們不同的名字,那麼我的代碼會更長。 – Adagoon