Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вывод данных в зависимости от сочетания двух select (https://javascript.ru/forum/dom-window/75673-vyvod-dannykh-v-zavisimosti-ot-sochetaniya-dvukh-select.html)

Anfiskin 28.10.2018 18:01

Вывод данных в зависимости от сочетания двух select
 
Здравствуйте! Помогите, пожалуйста, блондинке.

Нужен следующий скрипт:

Есть два селекта, в зависимости от сочетаний выбранного в каждом из них нужно выдать соответствующую ссылку.

Нужно, чтобы после того, как оба селекта выбраны, под формами ввода появилась ссылка, как в этом примере:

https://mdn.github.io/learning-area/...le-switch.html

Я не знаю языка яваскрипт, попыталась написать, уверена, что какая-то лажа получилась:

<label for="ps_tip1">Выбор 1: </label>
<select name="Выбор 1" id="ps_tip1">
<option selected value="">Выберите</option>
<option value="elki">Елки</option>
<option value="palki">Палки</option>
</select>

<br/>

<label for="ps_tip2">Выбор 2: </label>
<select name="Выбор 2" id="ps_tip2">
<option selected value="">Выберите</option>
<option value="elki">Елки</option>
<option value="palki">Палки</option>
</select>

<script language="JavaScript">
      
var select = document.form.ps_tip1.value('select1');
var select = document.form.ps_tip2.value('select2');
var para = document.querySelector('p');
[select1,select1].onchange = relations;

 
function relations() {
var choice = [select1,select1].value;

        switch(choice) {
if (document.form.ps_tip1.value === 'elki' && document.form.ps_tip2.value == 'elki') {para.textContent = '<a title=\ссылка1</a>'; 
}else if
 (document.form.ps_tip1.value === 'elki' && document.form.ps_tip2.value == 'palki') {para.textContent = '<a title=\ссылка2</a>'; 
}else if
 (document.form.ps_tip1.value === 'palki' && document.form.ps_tip2.value == 'elki') {para.textContent = '<a title=\ссылка3</a>'; 
}else if
 (document.form.ps_tip1.value === 'palki' && document.form.ps_tip2.value == 'palki') {para.textContent = '<a title=\ссылка4</a>'; 
}}
 </script>


Поправьте, пожалуйста, чтобы скрипт работал.

Заранее спасибо.

j0hnik 28.10.2018 22:01

<select id="one" class="link">
	<option>Елки</option>
	<option>Палки</option>
</select>

<select id="two"  class="link">
	<option>Елки</option>
	<option>Палки</option>
</select>
<div id='linkBlock'></div>
	<script>
var link = {
	'Елки':{
		'Елки':'link-one',
		'Палки':'link-who'
	},
	'Палки':{
		'Елки':'link-three',
		'Палки':'link-four'
	}
};
document.querySelectorAll('.link').forEach(el=>el.onchange = replaceLink);
		function replaceLink(){
			var l1 = one.options[one.selectedIndex].value,
			l2 = two.options[two.selectedIndex].value;
			console.log(l1);
			linkBlock.innerHTML = '<a href='+link[l1][l2]+'>'+link[l1][l2]+'</a>';
		}
	</script>

Anfiskin 28.10.2018 23:59

Спасибо огромное!!!!


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