Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Label выделение (https://javascript.ru/forum/jquery/28437-label-vydelenie.html)

Solovej 19.05.2012 16:16

Label выделение
 
Господа, дайте подсказку пожалуйста как сделать:

Выбор платежей с radio button. Надо по клику по label поставить выделение к div с классом money_pm_cur в этом месте то есть добавить к нему класс selected

<div class="money_pm_cur">
    <label for="paypal">
        <span class="l_select money_pm_selected">
            <input type="radio" id="paypal" name="payment_method">
            <span class="paypal"></span>
        </span>
    </label>
</div>
<div class="money_pm_cur">
    <label for="skrill">
        <span class="l_select">
            <input type="radio" id="skrill" name="payment_method">
            <span class="skrill"></span>
        </span>
    </label>
</div>


Не могу понять как всё тут прописать в jquery.

$('label').click(function(){

});
тут захватывает первый label, значит надо сделать цикл.
Чесно говоря никогда не делал циклы до этого, а документацию не понимаю, хоть и читал разные ресурсы.

Подайте глоток знаний пожалуйста. :)

vadim5june 19.05.2012 16:21

так попробуйте
$('label').click(function(){
$('div.money_pm_cur').addClass('selected' )
});

Solovej 19.05.2012 16:26

Цитата:

Сообщение от vadim5june (Сообщение 175419)
так попробуйте
$('label').click(function(){
$('div.money_pm_cur').addClass('selected' )
});

Да я это понял, но это добавляет ко всем Div а у меня их много. Мне надо добавить только к определённому div по которому кликнули.
И при том что остальные не должны быть выделены.

vadim5june 19.05.2012 16:29

попробуй внутри вот так
$(this).parent.addClass('selected' )

Solovej 19.05.2012 16:34

Цитата:

Сообщение от vadim5june (Сообщение 175419)
так попробуйте
$('label').click(function(){
$('div.money_pm_cur').addClass('selected' )
});

Цитата:

Сообщение от vadim5june (Сообщение 175425)
попробуй внутри вот так
$(this).parent.addClass('selected' )

Не не работает.
А как воспользоваться each функцией? Не понимаю документацию.

vadim5june 19.05.2012 16:44

тут each не нужна-я скобки забыл поставить
$(this).parent().addClass('selected' )
---------
если each то так

$('label').each(function(index){})
this внутри функции указывает на dom элемент а не jquery

Solovej 19.05.2012 17:09

Цитата:

Сообщение от vadim5june (Сообщение 175428)
тут each не нужна-я скобки забыл поставить
$(this).parent().addClass('selected' )
---------
если each то так

$('label').each(function(index){})
this внутри функции указывает на dom элемент а не jquery



Спасибо, то что надо!

Я сделал так:

$('label').click(function(){
$('label').parent().removeClass('selected')
$(this).parent().addClass('selected');
});


Часовой пояс GMT +3, время: 18:04.