Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.03.2011, 11:43
Аватар для blaga
Новичок на форуме
Отправить личное сообщение для blaga Посмотреть профиль Найти все сообщения от blaga
 
Регистрация: 28.03.2011
Сообщений: 2

Добавление класса с бэкграундом
Всем привет, такой вот вопрос возник.
есть у меня нестандартные радиобаттоны.
Реализованы они через jquery ui.
выглядят они так:

если выбрать текстовый варианты то они просто выделяются цветом.
А если выбрать звездочку то все предыдущие звездочки должны сменить бэкграунд. (так задается "звездность отеля")
Написал я скрипт небольшой для этого дела но вот проблема в хроме и осле работает отлично, а файерфокс и опера показывают неправильно. Только если два раза по одной и тойже звезде щелкнуть тогда выделятся предыдущие.
Код ниже:
Код:
//радио батоны	
	$( "#radio" ).buttonset();							
	$(".stars").click(function() {
	
			var radioId = this.id;
			radioId=radioId.substr(radioId.length-1,1);
			
			while(radioId>1) {
			
				$("#label"+radioId).addClass('ui-state-active');
				radioId--;
			}
			
		
	});
вроде бы все просто.
при клике на радио получаем его id. из id забираем последний символ (это число от 2 до 6)
и потом в цикле всем предыдущим добавляем класс с нужным бэкграундом.
Но почему то не хочет работать в файерфоксе и опере.
ссылка для ознакомления - http://a2themes.ru/demo/selectTour/

Всем заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 28.03.2011, 16:38
Аспирант
Отправить личное сообщение для kostr Посмотреть профиль Найти все сообщения от kostr
 
Регистрация: 12.09.2010
Сообщений: 98

Там у вас, по-моему, на onChange что-то срабатывает. Если написать не
$(".stars").click(function()
а
$(".stars").change(function()
то работает нормально.
Ответить с цитированием
  #3 (permalink)  
Старый 28.03.2011, 16:58
Аспирант
Отправить личное сообщение для goldserg Посмотреть профиль Найти все сообщения от goldserg
 
Регистрация: 08.02.2010
Сообщений: 37

Строка 135 и 270 на твоей страничке выполняются, таким образов в FF происходит окрашивание корректно, а затем также корректно окрашивание снимается.

Пользуйся FireBug, расставь BreakPoint и смотри почему запускаются другие функции, удачи.
Ответить с цитированием
  #4 (permalink)  
Старый 29.03.2011, 09:00
Аватар для blaga
Новичок на форуме
Отправить личное сообщение для blaga Посмотреть профиль Найти все сообщения от blaga
 
Регистрация: 28.03.2011
Сообщений: 2

goldserg,
спасибо, натолкнуло на мысль которая решила пролему.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить свойство css у всех элементов одного класса AlexJ Events/DOM/Window 7 19.03.2011 06:25
Добавление класса для тега dwel87 Элементы интерфейса 9 11.03.2011 11:46
Как изменить параметр класса с помощью JS? Shitbox2 Events/DOM/Window 5 07.03.2011 20:52
добавление элемента формы sc2r2bey Элементы интерфейса 3 15.06.2010 16:20
Добавление класса на елемент по id при фокусе на input Andrew_tl Events/DOM/Window 1 18.02.2010 19:09