Добавление класса определенному элементу jQuery
Есть вот такой код:
<div class="chosen-container"> <a class="chosen-single"> <span>Указать</span> </a> <div class="chosen-drop"> <ul class="chosen-results"> <li class="active-result">пункт 1</li> <li class="active-result">пункт 2</li> <li class="active-result">пункт 3</li> <li class="active-result">пункт 4</li> </ul> </div> </div> Таких вот кусков очень много. Это что-то типо select тегов, точнее они и есть (chosen скрипт) Задача была такой: 1) Если по классу "active-result" был клик, то ему же присваивается еще один класс "activ_click" 2) Потом идет проверка, если у элемента есть класс "activ_click", то классу "chosen-single" присваивается класс "in_compl", а если нет, то класс "in_disabl". Вообщем это что-то типо проверки на заполненность поля, если поле было заполнено, то он выделится зеленым (класс "in_compl") если нет, то красным (класс "in_disabl") Все бы хорошо, то вот если к примеру у одного поля пользователь кликнул по одному из пунктов (по классу "active-result"), то потом класс "in_compl" добавляется вообще ко всем полям. Т.е. ко всем "chosen-single" которые есть на странице. А нужно что бы именно к тому, в котором был клик. Вот часть кода: $('.active-result').live("click", function() { $(this).addClass('activ_click'); }); $('.butt_panel.se2 .butt_next').click(function() { $('.chosen-single').each(function() { if ( $(".active-result").hasClass("activ_click") ) { $(this).removeClass('in_disabl'); $(this).addClass('in_compl'); } else { $(this).addClass('in_disabl'); } }); }); Вижу, что он будет применен ко всем элементам "chosen-single". Но не знаю как и что добавить, прошу вашей помощи. Если можно на примерах. Надеюсь не запутаетесь, а то чтот загнул тут с классами) |
Цитата:
|
Как вариант...
<!DOCTYPE html> <html> <head> <script src='http://code.jquery.com/jquery-latest.js'></script> <!-- <link rel='stylesheet type=text/css href=tmp.css' /> --> <style type='text/css'> .activ_click { color: red; } .in_compl { background-color: yellow; } </style> <script type='text/javascript'> $(function (){ $('.active-result').click(function (){ $(this).toggleClass('activ_click'); var ob=$(this).parents('.chosen-container'); var o=ob.find('.chosen-single'); if (ob.find('.active-result').hasClass('activ_click')) { o.addClass('in_compl'); } else { o.removeClass('in_compl'); }; }); }); </script> </head> <body> <div class="chosen-container"> <a class="chosen-single"> <span>Указать</span> </a> <div class="chosen-drop"> <ul class="chosen-results"> <li class="active-result">пункт 1</li> <li class="active-result">пункт 2</li> <li class="active-result">пункт 3</li> <li class="active-result">пункт 4</li> </ul> </div> </div> <div class="chosen-container"> <a class="chosen-single"> <span>Указать</span> </a> <div class="chosen-drop"> <ul class="chosen-results"> <li class="active-result">пункт 1</li> <li class="active-result">пункт 2</li> <li class="active-result">пункт 3</li> <li class="active-result">пункт 4</li> </ul> </div> </div> </body> </html> |
Часовой пояс GMT +3, время: 21:45. |