Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2011, 19:46   #11
alt5000
PHP
Пользователь
 
Аватар для alt5000
 
Регистрация: 28.03.2007
Сообщений: 70
По умолчанию

Понятно. Спасибо - попробую
alt5000 вне форума Ответить с цитированием
Старый 05.12.2011, 22:17   #12
alt5000
PHP
Пользователь
 
Аватар для alt5000
 
Регистрация: 28.03.2007
Сообщений: 70
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Потому, что цвета вы указали только для элементов <option>, а для самого <select> цвет используется по-умолчанию(#fff), независимо от вашего выбора.

Чтоб менять это цвет - используйте событие onchange, или jquery change(), и передавайте в обработчик события выбранный цвет. А обработчик уже должен заменить фоновый цвет самого <select>(по его ID).
Что - то не получается. Сам элемент формируется так

PHP код:
echo("<select name=\"color\" id=\"sel_col\" onchange=\"set_color_sel();\">"); 
Тело функции

Код:
function set_color_sel()
{
	alert('!!!');
	var a = document.GetElementById('sel_col');
	a.style="background-color:#"+a.value;
	alert(a.style);
}
Но что-то не отрабатывает, кроме первого алерта

Попробывал и такой вариант (вообще не работает)

Код:
function set_color_sel()
{
	alert('!!!');
	var a = document.GetElementById('sel_col');
	a.style.background-color=#"+a.value;
	alert(a.value);
}

Последний раз редактировалось alt5000; 05.12.2011 в 22:55.
alt5000 вне форума Ответить с цитированием
Старый 06.12.2011, 01:36   #13
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

PHP код:
<script type="text/javascript">
function 
set_color_sel(idvalue)
{
    
document.getElementById(id).style.backgroundColor value;
}
</script>

<select name="color" id="sel_col" onchange="set_color_sel(this.id, this.value);">
  <option value="white" style="background-color:white;">Выберите цвет</option>
  <option value="red" style="background-color:red;">Красный</option>
  <option value="yellow" style="background-color:yellow;">Желтый</option>
  <option value="green" style="background-color:green;">Зеленый</option>
</select> 
Andkorol вне форума Ответить с цитированием
Старый 06.12.2011, 06:42   #14
alt5000
PHP
Пользователь
 
Аватар для alt5000
 
Регистрация: 28.03.2007
Сообщений: 70
По умолчанию

Да, отлично. Спасибо. Хотел просто без передачи аргументов сделать (ну раз элемент заранее известен и всегда будет одним и тем же, то и обратиться можно к нему сразу из функции, считать значение и его же изменить). Но, видимо, себя не перехитрить
alt5000 вне форума Ответить с цитированием
Старый 06.12.2011, 11:01   #15
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от alt5000 Посмотреть сообщение
Хотел просто без передачи аргументов сделать (ну раз элемент заранее известен и всегда будет одним и тем же, то и обратиться можно к нему сразу из функции, считать значение и его же изменить). Но, видимо, себя не перехитрить
Не в этом дело - просто это недальновидно.
Завтра вам понадобится на этой же странице сделать такой же функционал для другого элемента(или ещё для нескольких).
А ID элемента намертво прописан в вашей функции.
Ваши действия?
Копи-паст точно такой же функции, только с новым ID..?

А так - передал новые параметры в ту же функцию, и всё.
В этом и есть назначение функций - возможность многократного использования определенного блока кода.
Andkorol вне форума Ответить с цитированием
Старый 06.12.2011, 13:04   #16
alt5000
PHP
Пользователь
 
Аватар для alt5000
 
Регистрация: 28.03.2007
Сообщений: 70
По умолчанию

Да. Согласен с Вами. Еще раз спасибо за содействие.
alt5000 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц