Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Несколько условий function dynamic1(parent, child) (https://javascript.ru/forum/dom-window/70605-neskolko-uslovijj-function-dynamic1-parent-child.html)

kot488 19.09.2017 06:46

Несколько условий 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>


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

рони 19.09.2017 06:46

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

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


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

j0hnik 19.09.2017 10:06

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

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

ksa 19.09.2017 10:30

Цитата:

Сообщение от kot488
parent.options[parent.selectedIndex].value

Это все
parent.value

kot488 19.09.2017 11:37

Цитата:

Сообщение от ksa (Сообщение 464835)
Это все
parent.value

По этому условия он берет с блока parent_array['Польша '] значение и подставляет в следующий цикл, правильно? Может все же можно как то указать ему перечень условий с других блоков? Я не разбираюсь еще в javascript :cray:

ksa 19.09.2017 13:31

Цитата:

Сообщение от kot488
Я не разбираюсь еще в javascript

А я пока не понимаю чего тебе хочется... :(

kot488 19.09.2017 16:06

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

<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];
		}
	}


Часовой пояс GMT +3, время: 21:44.