2013-09-30 39 views
-1

我如何連接具有不同名稱的電臺?我有類似的東西jQuery加入兩個電臺

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

當我點擊「簽證」,那麼我想也已經檢查了「卡」由jQuery和ofcourse當我將它remove從收音機檢查與「現金」後點擊名稱= 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'); 
}); 

有了這個代碼時,我會選擇簽證被檢查卡,但是當我將檢查現金,然後再簽證是不檢查卡了。

鏈接的jsfiddle:http://jsfiddle.net/cRQB2/

+0

你可以更新jQuery代碼和HTML代碼的問題 – Viji

回答

2

嘗試

<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); 
     } 
    }) 
}) 

演示:Fiddle