JQuery присоединиться к двум радио

Как я могу подключить радио с разными именами? У меня что-то подобное

- Cash (name=payment)
- Card (name=payment)
-- Visa (name=paymentCard)
-- MasterCard (name=paymentCard)

И когда я нажму "Visa", я также хочу проверить "Карта" с помощью jQuery, и, конечно, когда я нажму после этого "Наличные", он удалит проверенные с радио с именем =paymentCard.

HTML-код:

<label><input type="radio" name="INPUT-payment" value="Cash" checked="checked">Cash</label><br>
<label><input type="radio" name="INPUT-payment" value="Card" class="card">Card</label><br>
<label><input type="radio" name="INPUT-paymentCard" value="Visa">Visa</label><br>
<label><input type="radio" name="INPUT-paymentCard" value="MasterCard">MasterCard</label>

JQuery код:

$('input[name=INPUT-paymentCard]').on('click', function(){
    $('input[value=Card').attr('checked', true);
});

$('input[name=INPUT-payment]').on('click', function(){
    $('input[name=INPUT-paymentCard]').removeAttr('checked');
});

С этим кодом, когда я выберу Visa, он проверяет Карту, но когда я проверю Наличные, а затем снова Visa, он больше не проверяет Карту.

ссылка на JSFiddle: http://jsfiddle.net/cRQB2/

1 ответ

Решение

Пытаться

<input name="payment" type="radio" class="payment cash"/> Cash 
<input name="payment" type="radio" class="payment card"/> Card

<input name="paymentCard" type="radio" class="paymentCard visa"/> Visa 
<input name="paymentCard" type="radio" class="paymentCard Master"/> MasterCard 

а также

jQuery(function(){
    var $payments = $('input.payment').change(function(){
        if(!$(this).hasClass('card')){
            $cards.prop('checked', false);
        }
    })
    var $cards = $('input.paymentCard').change(function(){
        if(this.checked){
            $payments.filter('.card').prop('checked', true);
        }
    })
})

Демо: скрипка

Другие вопросы по тегам