0
我有两个列表(其中一个州)和一个(国家)。我想在用户选择艾伯塔省时将其设置为加拿大,等等。关于状态选择更改国家
我有以下的javascript
var states = new Array(12)
states[0] = "AB";
states[1] = "BC";
states[2] = "MB";
states[3] = "NB";
states[4] = "NL";
states[5] = "NT";
states[6] = "NV";
states[7] = "NS";
states[8] = "ON";
states[9] = "PE";
states[10] = "QC";
states[11] = "SK";
states[12] = "YK";
function oc(a)
{
var o = {};
for(var i=0;i<a.length;i++)
{
o[a[i]]='';
}
return o;
}
if(oc(document.forms[0].state_o.value) in states) {
document.forms[0].country_o.options("Canada").selected = true;
}
状态列表
<select name="state_o" id="state_o">
<option value=''></option>
<option value="AB" style='color: red'>Alberta</option>
<option value="BC" style='color: red'>British Columbia</option>
<option value="MB" style='color: red'>Manitoba</option>
<option value="NB" style='color: red'>New Brunswick</option>
<option value="NL" style='color: red'>Newfoundland</option>
<option value='NT' style='color: red'>Northwest Territories</option>
<option value='NV' style='color: red'>Nunavut</option>
<option value="NS" style='color: red'>Nova Scotia</option>
<option value="ON" style='color: red'>Ontario</option>
<option value="PE" style='color: red'>Prince Edward Island</option>
<option value="QC" style='color: red'>Quebec</option>
<option value="SK" style='color: red'>Saskatchewan</option>
<option value='YK' style='color: red'>Yukon Territory</option>
国家名单
<select name="country_o">
<option value=''></option>
<option value="Canada">Canada</option>
<option value="United States">United States</option>
<option value="Europe">Europe</option>
</select>
现在的问题是它似乎并不奏效。我建立了一个数组,然后使用oc函数将它转换为一个对象,然后检查它是否在对象列表中,以及它是否设置了正确的国家。
任何帮助?