Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.07.2016, 12:15
Аспирант
Отправить личное сообщение для Quark_ Посмотреть профиль Найти все сообщения от Quark_
 
Регистрация: 24.06.2015
Сообщений: 95

Добавить скриптом классы на option
Помогите написать скрипт, чтобы при загрузке страницы на каждую option добавлялся свой индивидуальный класс (использую джумловский модуль и он не дает их прописать сразу в html).

<div class="control-group">
   {element label="Услуга" type="select"}
      {option label="Услуга 1" value="Услуга 1" /}
      {option label="Услуга 2" value="Услуга 2" /}
      {option label="Услуга 3" value="Услуга 3" /}
      {option label="Услуга 4" value="Услуга 4" /}
      {option label="Услуга 5" value="Услуга 5" /}
   {/element}
</div>
Ответить с цитированием
  #2 (permalink)  
Старый 10.07.2016, 22:36
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Quark_, на option ничего не должно быть кроме value.
Ответить с цитированием
  #3 (permalink)  
Старый 10.07.2016, 23:48
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Да просто заменить label на class. Все равно ни про какой атрибут label хтмл не знает.
Ответить с цитированием
  #4 (permalink)  
Старый 11.07.2016, 08:32
Аспирант
Отправить личное сообщение для Quark_ Посмотреть профиль Найти все сообщения от Quark_
 
Регистрация: 24.06.2015
Сообщений: 95

Сообщение от Ruslan_xDD Посмотреть сообщение
Quark_, на option ничего не должно быть кроме value.
Ruslan_xDD, дело в том, что мне надо, например при выборе опции "Услуга 3" сделать видимым дополнительный блок, т.о. я планировал через display: none/block;
А как для скрипта, который будет менять стили по клику указать, какая именно опция выбрана - не понимаю.
Ответить с цитированием
  #5 (permalink)  
Старый 11.07.2016, 08:33
Аспирант
Отправить личное сообщение для Quark_ Посмотреть профиль Найти все сообщения от Quark_
 
Регистрация: 24.06.2015
Сообщений: 95

Сообщение от warren buffet Посмотреть сообщение
Да просто заменить label на class. Все равно ни про какой атрибут label хтмл не знает.
Не поможет т.к. использую модуль джумловский (Simpleform 2), от стирает class или id для опции с фронта при загрузке страницы.
Ответить с цитированием
  #6 (permalink)  
Старый 11.07.2016, 08:39
Аспирант
Отправить личное сообщение для Quark_ Посмотреть профиль Найти все сообщения от Quark_
 
Регистрация: 24.06.2015
Сообщений: 95

Можно ли при такой структуре:
<div class="control-group">
   {element label="Услуга" type="select"}
      {option label="Услуга 1" value="Услуга 1" /}
      {option label="Услуга 2" value="Услуга 2" /}
      {option label="Услуга 3" value="Услуга 3" /}
      {option label="Услуга 4" value="Услуга 4" /}
      {option label="Услуга 5" value="Услуга 5" /}
   {/element}
</div>

<div class="blocks">
<div class="Услуга 1"></div>
<div class="Услуга 2"></div>
<div class="Услуга 3"></div>
<div class="Услуга 4"></div>
<div class="Услуга 5"></div>
</div>


как-то на основе этого скрипта сделать, чтобы при выборе опции на соответствующий div также добавлялся класс, например selected?
$('select').change(function(){
    $(this).find(':selected').addClass('selected')
           .siblings('option').removeClass('selected');
});
Ответить с цитированием
  #7 (permalink)  
Старый 11.07.2016, 10:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Quark_
выборе опции на соответствующий div также добавлялся класс,
$('select').change(function(){
    $('.blocks > div').removeClass('selected')
    .eq(this.selectedIndex || 0).addClass('selected')
});
Ответить с цитированием
  #8 (permalink)  
Старый 11.07.2016, 12:13
Аспирант
Отправить личное сообщение для Quark_ Посмотреть профиль Найти все сообщения от Quark_
 
Регистрация: 24.06.2015
Сообщений: 95

Сообщение от рони Посмотреть сообщение
$('select').change(function(){
    $('.blocks > div').removeClass('selected')
    .eq(this.selectedIndex || 0).addClass('selected')
});
THX, то, что нужно)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить атрибут в select option mclaren_bbc Элементы интерфейса 9 03.03.2016 23:33
Новый input при выборе определенного option SLameN Элементы интерфейса 4 03.07.2015 16:29
Удалить классы и добавить новые kolhoz jQuery 5 20.04.2015 10:20
Изменение selecta при выборе option ainur777 Общие вопросы Javascript 1 10.01.2015 16:23
Как заставить меняться стиль option одного селекта в зависимости от выбора option.. print_r Общие вопросы Javascript 1 08.01.2013 23:11