Показать сообщение отдельно
  #1 (permalink)  
Старый 26.08.2014, 12:18
Интересующийся
Отправить личное сообщение для MasterDmx Посмотреть профиль Найти все сообщения от MasterDmx
 
Регистрация: 16.02.2013
Сообщений: 21

Добавление класса определенному элементу 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". Но не знаю как и что добавить, прошу вашей помощи. Если можно на примерах.

Надеюсь не запутаетесь, а то чтот загнул тут с классами)
Ответить с цитированием