都市、州のドロップダウンメニューのコードが見つかりました。それは完璧に動作しますが、私は次のコードに米国の州を追加することによって、追加の機能を実装しています:javascript、.split()、追加変数を実装
//countries array
var countries = Object();
countries['Africa'] = '|Algeria|Angola|Benin';
//state array
var city_states = Object();
city_states['United States'] = '|Washington DC||Alabama|Alaska';
これは、米国の都市の配列ですが、私はそうのような状態の略語を追加したい:DC、AL、 AKというようにこのようなメニューに送信する:
function setRegions()
{
for (region in countries)
document.write('<option value="' + region + '">' + region + '</option>');
}
function set_country(oRegionSel, oCountrySel, oCity_StateSel)
{
var countryArr;
oCountrySel.length = 0;
oCity_StateSel.length = 0;
var region = oRegionSel.options[oRegionSel.selectedIndex].text;
if (countries[region])
{
oCountrySel.disabled = false;
oCity_StateSel.disabled = true;
oCountrySel.options[0] = new Option('SELECT COUNTRY','');
countryArr = countries[region].split('|');
for (var i = 0; i < countryArr.length; i++)
oCountrySel.options[i + 1] = new Option(countryArr[i], countryArr[i]);
document.getElementById('txtregion').innerHTML = region;
document.getElementById('txtplacename').innerHTML = '';
}
else oCountrySel.disabled = true;
}
function set_city_state(oCountrySel, oCity_StateSel)
{
var city_stateArr;
oCity_StateSel.length = 0;
var country = oCountrySel.options[oCountrySel.selectedIndex].text;
if (city_states[country])
{
oCity_StateSel.disabled = false;
oCity_StateSel.options[0] = new Option('SELECT NEAREST DIVISION','');
city_stateArr = city_states[country].split('|');
for (var i = 0; i < city_stateArr.length; i++)
oCity_StateSel.options[i+1] = new Option(city_stateArr[i],city_stateArr[i]);
document.getElementById('txtplacename').innerHTML = country;
}
else oCity_StateSel.disabled = true;
}
function print_city_state(oCountrySel, oCity_StateSel)
{
var country = oCountrySel.options[oCountrySel.selectedIndex].text;
var city_state = oCity_StateSel.options[oCity_StateSel.selectedIndex].text;
if (city_state && city_states[country].indexOf(city_state) != -1)
document.getElementById('txtplacename').innerHTML = city_state + ', ' + country;
else document.getElementById('txtplacename').innerHTML = country;
}
私は国家の略語の追加の配列を追加することを考えていたが、私は単純な状態の略語を追加し、既に構築された配列がでわずか罰金を行うだろうと思いますsetregions()に別の値を追加し、+ region +の代わりに+ abbreviation +を追加します。任意のアイデアを実装する方法は? -ありがとうございました。
javascriptのはまだでこれを書くことがあります。 関数setRegions()(国における地方)のため { のdocument.write( '<オプション値= "' +領域+ '">' +領域+ ''); } 変数を割り当てることなくどのようにしたらいいですか? – prkarpi
申し訳ありませんが、どういう意味ですか? – Ozzy
私はHTMLを書き込むsetRegions()を持っていますが、両方のフィールドに両方の変数+ region +を持ち、状態の省略形と状態を別々に書きません。私はが必要です。 – prkarpi