2014-02-25 82 views
3

我的HTML在其標籤中有單選按鈕。當收音機被選擇時,我需要爲這個標籤添加一個類,當它不是時,刪除它。選擇時將課程添加到收音機的標籤,並在課程不在時刪除課程?

下面我的代碼添加了收音機時的類,但未選中時未刪除。

http://jsfiddle.net/UJM6G/

<div class="form-input radios"> <div class="form-radios form-element-type-radios"><div class="form-form-element-wrapper"><div class="form-item form-item-radio"> 
<div class="form-input radio"> <label class="option" for="edit-vehicle-owner-1"><input type="radio" name="vehicle_owner" value="1" class="form-radio form-element-type-radios"> Yes</label> 
</div><div class="form-error"></div></div> 
</div><div class="form-form-element-wrapper"><div class="form-item form-item-radio"> 
<div class="form-input radio"> <label class="option" for="edit-vehicle-owner-0"><input type="radio" value="0" class="form-radio form-element-type-radios"> No</label> 
</div><div class="form-error"></div></div> 
</div></div> 
</div> 

    $('.form-element-type-radios').click(function(){ 
    if ($('input.form-radio').is(':checked')) { 
     $(this).parent('label').addClass('checked'); 
    } 
    else { 
     $(this).parent('label').removeClass('checked'); 
    } 
    }); 

回答

3

您應該使用.change()事件

$('input.form-radio').change(function() { 
    if ($(this).prop('checked')) { 
     $('input.form-radio').parent('label').removeClass('checked') 
     $(this).parent('label').addClass('checked'); 
    } 
}).change(); 

DEMO

+0

該解決方案的問題是,如果在頁面加載時已經選擇了收音機,則不會添加該類。 – Evans

+0

@jdln,我已經更新了答案,希望這可以解決您的問題。查看更新的演示。剛剛將'checked'屬性添加到'Yes'收音機 – Satpal

0

嘗試使用各種功能的

$('.form-element-type-radios').click(function(){ 
    $('input.form-radio').each(function(){ 
     $(this).is(':checked') ? $(this).parent('label').addClass('checked') : $(this).parent('label').removeClass('checked'); 
     }) 
    }); 
這樣做的所有按鈕

JSFIDDLE DEMO