Как загрузить все муниципалитеты в раскрывающийся список, не исчерпав память?Html

Программисты Html
Ответить
Anonymous
 Как загрузить все муниципалитеты в раскрывающийся список, не исчерпав память?

Сообщение Anonymous »

Я использую раскрывающийся список, содержащийся в http://www.javascriptsource.com/forms/c ... -list.html

Код: Выделить всё

// State lists
var states = new Array();
states['Canada'] = new Array('Alberta', 'British Columbia', 'Ontario');
states['Mexico'] = new Array('Baja California', 'Chihuahua', 'Jalisco');
states['United States'] = new Array('California', 'Florida', 'New York');
// City lists
var cities = new Array();
cities['Canada'] = new Array();
cities['Canada']['Alberta'] = new Array('Edmonton', 'Calgary');
cities['Canada']['British Columbia'] = new Array('Victoria', 'Vancouver');
cities['Canada']['Ontario'] = new Array('Toronto', 'Hamilton');
cities['Mexico'] = new Array();
cities['Mexico']['Baja California'] = new Array('Tijauna', 'Mexicali');
cities['Mexico']['Chihuahua'] = new Array('Ciudad Juárez', 'Chihuahua');
cities['Mexico']['Jalisco'] = new Array('Guadalajara', 'Chapala');
cities['United States'] = new Array();
cities['United States']['California'] = new Array('Los Angeles', 'San Francisco');
cities['United States']['Florida'] = new Array('Miami', 'Orlando');
cities['United States']['New York'] = new Array('Buffalo', 'new York');

function setStates() {
cntrySel = document.getElementById('country');
stateList = states[cntrySel.value];
changeSelect('state', stateList, stateList);
setCities();
}

function setCities() {
cntrySel = document.getElementById('country');
stateSel = document.getElementById('state');
cityList = cities[cntrySel.value][stateSel.value];
changeSelect('city', cityList, cityList);
}

function changeSelect(fieldID, newOptions, newValues) {
selectField = document.getElementById(fieldID);
selectField.options.length = 0;
for (i = 0; i < newOptions.length; i++) {
selectField.options[selectField.length] = newOption(newOptions[i], newValues[i]);
}
}

function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(function() {
setStates();
});
Head < script type = "text/javascript"
src = "countryStateCity.js" >  Body < fieldset style = "width: 230px;" > [b]Make your selection[/b] < p > 


Country:


Canada
Mexico
United States



State:


Please select a Country



City:


Please select a Country




 < /fieldset>
У меня код работает нормально, но только с небольшим контентом. Когда я загружаю все страны, штаты и регионы, а также города в файл CountryStateCity.js, моему компьютеру не хватает памяти.

Файл «countryStateCity.js» огромен. . Если я перечислю все страны, все штаты и регионы, а также города и поселки стран, начинающихся с «A» и «B», все будет работать нормально, но если я добавлю города и поселки стран, начинающихся с «C», система дает сбой.

Мне нужно разбить исходный файл примерно на один файл для каждой страны, подобный этому;

Код: Выделить всё

src="country/Canada.js"
src="country/Mexico.js"
src="country/United States.js"
Я хочу, чтобы Javascript находил имя файла, например Country/Canada.js, а не находил имя во всем файле мира.
Может ли кто-нибудь предоставить мне исправленный код Javascript?

Подробнее здесь: https://stackoverflow.com/questions/423 ... -of-memory
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»