Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.09.2017, 06:46
Новичок на форуме
Отправить личное сообщение для kot488 Посмотреть профиль Найти все сообщения от kot488
 
Регистрация: 19.09.2017
Сообщений: 3

Несколько условий function dynamic1(parent, child)
Есть вывод формы на javascript.
<script type="text/javascript">
function dynamic1(parent,child)
{
var parent_array = new Array();
// This is the default value
parent_array[''] = ['Please select a manufacturer'];
// All other elements
// parent_array['PARENT NAME'] = ['CHILD 1','CHILD 2','CHILD 3','ETC'];
parent_array['Украина'] = [' ','Винница'];
parent_array['Польша '] = [' ','Луцьк'];
var thechild = document.getElementById(child);
thechild.options.length = 0;
var parent_value = parent.options[parent.selectedIndex].value;
if (!parent_array[parent_value]) parent_value = '';
thechild.options.length = parent_array[parent_value].length;
for(var i=0;i<parent_array[parent_value].length;i++)
{
thechild.options[i].text = parent_array[parent_value][i];
thechild.options[i].value = parent_array[parent_value][i];
}
}

</script>

script type="text/javascript">
function dynamic2(parent,child)
{
var parent_array = new Array();
// This is the default value
parent_array[''] = ['Please select a manufacturer'];
// All other elements
// parent_array['PARENT NAME'] = ['CHILD 1','CHILD 2','CHILD 3','ETC'];
parent_array['Винница'] = [' ','Бар','Бершадь','Гайсин','Жмеринка','Калинівка','Козятин','Немирів','Тульчин'];
parent_array['Луцк'] = [' ','Ковель','Нововолинськ'];
var thechild = document.getElementById(child);
thechild.options.length = 0;
var parent_value = parent.options[parent.selectedIndex].value;
if (!parent_array[parent_value]) parent_value = '';
thechild.options.length = parent_array[parent_value].length;
for(var i=0;i<parent_array[parent_value].length;i++)
{
thechild.options[i].text = parent_array[parent_value][i];
thechild.options[i].value = parent_array[parent_value][i];
}
}

</script>


Подскажите пожалуйста, как можно сделать не одно условие родительского элемента, а несколько, что бы было несколько условий на основании которых предлагался вариант выбора ответа.

Последний раз редактировалось kot488, 19.09.2017 в 06:59.
Ответить с цитированием
  #2 (permalink)  
Старый 19.09.2017, 06:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 19.09.2017, 10:06
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

https://learn.javascript.ru/logical-ops

var a = 5,
b = 10;
if(a==5 && b==10) alert('2');

Последний раз редактировалось j0hnik, 19.09.2017 в 10:08.
Ответить с цитированием
  #4 (permalink)  
Старый 19.09.2017, 10:30
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Сообщение от kot488
parent.options[parent.selectedIndex].value
Это все
parent.value
Ответить с цитированием
  #5 (permalink)  
Старый 19.09.2017, 11:37
Новичок на форуме
Отправить личное сообщение для kot488 Посмотреть профиль Найти все сообщения от kot488
 
Регистрация: 19.09.2017
Сообщений: 3

Сообщение от ksa Посмотреть сообщение
Это все
parent.value
По этому условия он берет с блока parent_array['Польша '] значение и подставляет в следующий цикл, правильно? Может все же можно как то указать ему перечень условий с других блоков? Я не разбираюсь еще в javascript
Ответить с цитированием
  #6 (permalink)  
Старый 19.09.2017, 13:31
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Сообщение от kot488
Я не разбираюсь еще в javascript
А я пока не понимаю чего тебе хочется...
Ответить с цитированием
  #7 (permalink)  
Старый 19.09.2017, 16:06
Новичок на форуме
Отправить личное сообщение для kot488 Посмотреть профиль Найти все сообщения от kot488
 
Регистрация: 19.09.2017
Сообщений: 3

Собрался вроде с мыслей.
Пользователь заходид. выбирает свой отдел, дальше выбирает свою область, потом свой город, потом свою улицу.
Как то можно сделать отбор что бы учитывало другие поля условия. к примеру отделения ГБ есть только в определенных городх, а по списку забиты все города, так же и улицы. Отделения есть по всех улицах, но ГБ только на определенных

<script type="text/javascript">
	function dynamic1(parent,child)
	{
		var parent_array = new Array();
		// This is the default value
		parent_array[''] = ['Please select a manufacturer'];
		// All other elements
		// parent_array['PARENT NAME'] = ['CHILD 1','CHILD 2','CHILD 3','ETC'];
		parent_array['ГБ'] = ['','Вінницька','Дніпропетровська','Київська','Луганська','Львівська','Одеська','Полтавська','Харківська','Черкаська'];
		parent_array['ЦП'] = ['','Вінницька','Волинська','Дніпропетровська','Донецька','Житомирська','Закарпатська','Запорізька','Івано-Франківська','Київська','Кіровоградська','Львівська','Миколаївська','Одеська','Полтавська','Рівненська','Тернопільська','Харківська','Херсонська','Хмельницька','Черкаська'];
		parent_array['РУ'] = ['','Вінницька','Волинська','Дніпропетровська','Донецька','Житомирська','Закарпатська','Запорізька','Івано-Франківська','Київська','Кіровоградська','Луганська','Львівська','Миколаївська','Одеська','Полтавська','Рівненська','Сумська','Тернопільська','Харківська','Херсонська','Хмельницька','Черкаська','Чернівецька','Чернігівська'];
		parent_array['ТТ'] = ['','Вінницька','Волинська','Дніпропетровська','Донецька','Житомирська','Закарпатська','Запорізька','Івано-Франківська','Київська','Кіровоградська','Луганська','Львівська','Миколаївська','Одеська','Полтавська','Рівненська','Сумська','Тернопільська','Харківська','Херсонська','Хмельницька','Черкаська','Чернівецька','Чернігівська'];
			
		// Get the child
		var thechild = document.getElementById(child);
		
		// Remove all other options from the select element
		thechild.options.length = 0;
		
		// What value are we looking for ?
		var parent_value = parent.options[parent.selectedIndex].value;
		
		// No value found, use the default value
		if (!parent_array[parent_value]) parent_value = '';
		
		// Set the correct length
		thechild.options.length = parent_array[parent_value].length;
		
		// Add the options
		for(var i=0;i<parent_array[parent_value].length;i++)
		{
			thechild.options[i].text = parent_array[parent_value][i];
			thechild.options[i].value = parent_array[parent_value][i];
		}
	}


	function dynamic2(parent,child)
	{
		var parent_array = new Array();
		// This is the default value
		parent_array[''] = ['Please select a manufacturer'];
		// All other elements
		// parent_array['PARENT NAME'] = ['CHILD 1','CHILD 2','CHILD 3','ETC'];
	parent_array['Вінницька'] = [' ','Бар','Бершадь','Вінниця','Гайсин','Жмеринка','Калинівка','Козятин','Немирів','Тульчин'];
	parent_array['Волинська'] = [' ','Луцьк','Ковель','Нововолинськ'];
	parent_array['Дніпропетровська'] =[' ','Дніпро','Камянське','Кривий Ріг','Нікополь','Новомосковськ','Павлоград','Першотравенськ','Тернівкав'];
	parent_array['Донецька'] =[' ','Дружківка','Костянтинівка','Краматорськ','Красноармійськ','Маріуполь','Покровськ','Словянськ'];
	parent_array['Житомирська'] =[' ','Бердичів','Житомир','Коростень','Малин','Маріуполь','Новоград-Волинський'];
	parent_array['Закарпатська'] =[' ','Берегово','Виноградів','Іршава','Мукачево','Тячів','Ужгород','Хуст'];
	parent_array['Запорізька'] =[' ','Запоріжжя','Бердянськ','Мелітополь'];
	parent_array['Івано-Франківська'] =[' ','Івано-Франківськ','Калуш','Коломия','Долина'];
	parent_array['Київська'] =[' ','Київ','Камянське','Бориспіль','Біла Церква','Бровари','Славутич','Обухів','Васильків'];
	parent_array['Кіровоградська'] =[' ','Олександрія','Кропивницький','Світловодськ'];
	parent_array['Луганська'] =[' ','Сєвєродонецьк','Старобільськ','Лисичанськ','Рубіжне'];
	parent_array['Львівська'] =[' ','Львів','Дрогобич','Стрий','Новояворівськ','Золочів'];
	parent_array['Миколаївська'] =[' ','Миколаїв','Вознесенськ','Южноукраїнськ','Баштанка'];
	parent_array['Одеська'] =[' ','Балта','Білгород-Дністровський','Ізмаїл','Одеса','Подільськ','Чорноморськ','Южне'];
	parent_array['Полтавська'] =[' ','Полтава','Лубни','Кременчук','Горішні Плавні'];
	parent_array['Рівненська'] =[' ','Рівне','Костопіль','Дубно'];
	parent_array['Сумська'] =[' ','Суми','Шостка','Конотоп','Ромни','Охтирка'];
	parent_array['Тернопільська'] =[' ','Тернопіль','Борщів','Чортків'];
	parent_array['Харківська'] =[' ','Ізюм','Купянськ','Балаклія','Зміїв','Харків','Чугуїв'];
	parent_array['Херсонська'] =[' ','Гола Пристань','Скадовськ','Балаклія','Каховка','Херсон'];
	parent_array['Хмельницька'] =[' ','Славута','Камянець-Подільський','Хмельницький'];
	parent_array['Черкаська'] =[' ','Золотоноша','Умань','Сміла','Черкаси'];
	parent_array['Чернівецька'] =[' ','Чернівці'];
	parent_array['Чернігівська'] =[' ','Ніжин','Прилуки','Чернігів'];


			// Get the child
		var thechild = document.getElementById(child);
		
		// Remove all other options from the select element
		thechild.options.length = 0;
		
		// What value are we looking for ?
		var parent_value = parent.options[parent.selectedIndex].value;
		
		// No value found, use the default value
		if (!parent_array[parent_value]) parent_value = '';
		
		// Set the correct length
		thechild.options.length = parent_array[parent_value].length;
		
		// Add the options
		for(var i=0;i<parent_array[parent_value].length;i++)
		{
			thechild.options[i].text = parent_array[parent_value][i];
			thechild.options[i].value = parent_array[parent_value][i];
		}
	}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не соображу с некоторыми переменными pov8 Events/DOM/Window 2 08.04.2016 11:14
Как создается function Function(){} ? Cepairda Общие вопросы Javascript 0 10.02.2016 15:03
сабытие Onchange serrrgggeee Javascript под браузер 1 25.09.2014 10:11
объект document присваивается переменной serrrgggeee Javascript под браузер 7 14.09.2014 22:46
Чем "dequeue после queue" отличается от "dequeue внутри queue". lancer jQuery 2 04.09.2012 14:47