Связанные выпадающие списки
Добрый день,
я в web новичок, так что не стреляйте в пианиста - играю как умею. :) есть у меня задача: связать два списка так, чтобы при изменении одного, автоматически менялось значение другого и наоборот. Я попробовал передвать через onchange в функцию changeBackgroundColor два значения: id элемента и цвет А затем менять фон в обоих элементах - сначала в одном, затем во втором. И для первого выпадающего списка срабатывает, а вот вотрой игнорирует - значение для самого списка меняет, а вот связанный с ним список игнорирует.
<script>
function changeBackgroundColor(id, newColor) {
var elem = document.getElementById(id);
elem.style.color = newColor;
elem.style.backgroundColor = newColor;
switch(id) {
case 'Button1': // if (id === 'Button1')
var id2 = id + '_1';
var elem2 = document.getElementById(id2);
elem2.style.color = newColor;
elem2.style.backgroundColor = newColor;
alert("Id= "+id);
case 'Button1_1': // if (id === 'Button1_1')
var id2 = id - '_1';
var elem2 = document.getElementById(id2);
elem2.style.color = newColor;
elem2.style.backgroundColor = newColor;
alert("Id= "+id);
}
}
</script>
<select class="apply_text1" size="1" name="Button1" id="Button1" onchange="changeBackgroundColor(id, value);"> <option value="white">NEW</option> <option value="brown">A4</option> <option value="red">A3</option> <option value="orange">A2</option> <option value="yellow">A1</option> <option value="lime">N</option> <option value="aqua">B1</option> <option value="blue">B2</option> <option value="navy">B3</option> <option value="purple">B4</option> <option value="black">NOT NEEDED</option> </select> <select class="apply_text2" size="1" name="Button1_1" id="Button1_1" onchange="changeBackgroundColor(id, value);"> <option value="white">NEW</option> <option value="brown">A4</option> <option value="red">A3</option> <option value="orange">A2</option> <option value="yellow">A1</option> <option value="lime">N</option> <option value="aqua">B1</option> <option value="blue">B2</option> <option value="navy">B3</option> <option value="purple">B4</option> <option value="black">NOT NEEDED</option> </select> Подскажите, пожалуйста, что может быть не так? |
Цитата:
Не совсем понял чего ты там мастерил... Но, как вариант.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
function changeBackgroundColor(id, newColor) {
var elem = document.getElementById(id);
elem.style.color = newColor;
elem.style.backgroundColor = newColor;
switch(id) {
case 'Button1':
var id2 = id + '_1';
var elem2 = document.getElementById(id2);
elem2.style.color = newColor;
elem2.style.backgroundColor = newColor;
alert("1 Id= "+id);
break;
case 'Button1_1':
var id2 = id.split('_')[0];
var elem2 = document.getElementById(id2);
elem2.style.color = newColor;
elem2.style.backgroundColor = newColor;
alert("2 Id= "+id2);
break;
};
};
</script>
</script>
</head>
<body>
<select class="apply_text1" size="1" name="Button1" id="Button1" onchange="changeBackgroundColor(id, value);">
<option value="white">NEW</option>
<option value="brown">A4</option>
<option value="red">A3</option>
<option value="orange">A2</option>
<option value="yellow">A1</option>
<option value="lime">N</option>
<option value="aqua">B1</option>
<option value="blue">B2</option>
<option value="navy">B3</option>
<option value="purple">B4</option>
<option value="black">NOT NEEDED</option>
</select>
<select class="apply_text2" size="1" name="Button1_1" id="Button1_1" onchange="changeBackgroundColor(id, value);">
<option value="white">NEW</option>
<option value="brown">A4</option>
<option value="red">A3</option>
<option value="orange">A2</option>
<option value="yellow">A1</option>
<option value="lime">N</option>
<option value="aqua">B1</option>
<option value="blue">B2</option>
<option value="navy">B3</option>
<option value="purple">B4</option>
<option value="black">NOT NEEDED</option>
</select>
</body>
</html>
|
Цитата:
но проще написать case 'Button1_1': // if (id === 'Button1_1') *!* var id2 = 'Button1'; */!*
case 'Button1': // if (id === 'Button1')
var id2 = 'Button1_1';
|
Прменого благодарен за исчерпывающие ответы! ))) Все работает.
|
| Часовой пояс GMT +3, время: 20:32. |