2013-04-07 7 views
1

Я пытаюсь добавить класс в метку <input type="radio" /> на событие click метки с jQuery.Добавить класс в li с jQuery

$(".gallery ul li input").each(function() { 
    $(this).click(function() { 
     var lblid = ".gallery ul li"; 
     var inplb = ".gallery ul li input"; 

     if ($(inplb).is(":checked")) { 
      $(lblid).addClass('active'); 
     } 
     else { 
      $(lblid).removeClass('active'); 
     } 
    }); 
}); 

и HTML

<div class="gallery"> 
    <ul> 
    <li><span></span><label for="slim1"><img src="../boo/img/banks_03.png" alt="" /></label><input type="radio" id="slim1" name="slim1" /></li> 
    <li><span></span><label for="slim2"><img src="../boo/img/banks_05.png" alt="" /></label><input type="radio" id="slim2" name="slim2" /></li> 
    </ul> 
</div> 

Кто-нибудь есть какие-либо идеи, почему класс не будет применяться?

+0

Ваш код работает хорошо HTTP : //jsbin.com/ocanar/1/ в чем проблема? Выполняется ли код? Убедитесь, что вы включили библиотеку jQuery над этим скриптом. –

ответ

1

событие изменения радио будет срабатывать при нажатии на ярлык:

$(".gallery ul li input").on('change', function() { 
    $(".gallery ul li").removeClass('active'); 
    $(this).closest('li').toggleClass('active', this.checked); 
}); 

FIDDLE

+0

извините брах, добавит класс не для ярлыка, но для li, спасибо .. –

+0

посмотреть на мой код css –

+0

.gallery ul li.active img { border: # b1b1b1 1px solid; ширина: 121px; высота: 54px; } –

0

Вы можете сделать так:

$(".gallery ul li input").on('click', function() { 
    $(this).parents('li').toggleClass('active').siblings().removeClass("active"); 
}); 

Demo

Смежные вопросы