我真的需要帮助。我是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