Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление класса с бэкграундом, Jquery 
:(
    Опции темы
Blaga
  Дата 28.3.2011, 06:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЛамМер++
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 15.11.2005
Где: г. Иркутск

Репутация: нет
Всего: 4



Всем привет, такой вот вопрос возник.
есть у меня нестандартные радтобаттоны. 
Реализованы они через jquery ui.
выглядят они так:
user posted image
если выбрать текстовый варианты то они просто выделяются цветом.
А если выбрать звездочку то все предыдущие звездочки должны сменить бэкграунд. (так задается "звездность отеля")
Написал я скрипт небольшой для этого дела но вот проблема в хроме и осле работает отлично, а файерфокс и опера показывают неправильно. Только если два раза по одной и тойже звезде щелкнуть тогда выделятся предыдущие.
Код ниже:
Код

//радио батоны    
    $( "#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/

Всем заранее спасибо!


--------------------

http://displayart.ru - Обои.
http://a2themes.ru - Сайт о движках DLE, phpBB3, WordPress.
PM MAIL ICQ   Вверх
mcTep
Дата 28.3.2011, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 25.2.2009

Репутация: 1
Всего: 6



Эти звездочки не совсем radiobutton в вашем случае. У вас они все с одинаковым именем, что говорит о том, что только одна из пяти кнопок может быть нажата. Видимо при щелчке плагин производит перерасчет значений и удаляет соответствующий класс "ui-state-active" у невыбранных элементов. 

Можно попробовать создать свой класс с теми же свойствами как у "ui-state-active" и работать уже с ним. Но при этом не забывать удалять его у последующих радиокнопок.

Что-то типа того:

Код

$(".stars").click(function() {
    
            var radioId = this.id;
            radioId=radioId.substr(radioId.length-1,1);

            $(".star").removeClass('my-active');

            while(radioId>1) {
            
                $("#label"+radioId).addClass('my-active');
                radioId--;
            }
            
        
    });




Это сообщение отредактировал(а) mcTep - 28.3.2011, 15:12
PM MAIL   Вверх
Blaga
Дата 29.3.2011, 08:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЛамМер++
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 15.11.2005
Где: г. Иркутск

Репутация: нет
Всего: 4



Спасибо, помогло. Как то не подумал что пользуюсь стандартным классом и его скрипт снимает... smile 


--------------------

http://displayart.ru - Обои.
http://a2themes.ru - Сайт о движках DLE, phpBB3, WordPress.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0947 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.