2012-06-26 106 views
0

的字體顏色下面是我的演示代碼http://jsfiddle.net/Wwdmm/3/選中一個複選框,並改變另一種選擇

但是當我點擊require什麼也沒有發生。我想單擊require,然後更改option2的字體顏色,並取消選中option2刪除其類。

什麼是錯誤?選擇就在那裏。 感謝

jQuery(document).ready(function(){ 
    $('#id_run_options_0').change(function(){ 
     if (this.checked){ 
      alert('checked'); 
      $('#id_run_options_1').addClass('highlight-option2'); 
     }else{ 
      alert('unchecked'); 
      $('#id_run_options_1').removeClass('highlight-option2'); 
}}); 
}); 

回答

1

你可以使用toggleClass方法

jQuery(document).ready(function(){ 
    $('#id_run_options_0').change(function(){ 
     $('#id_run_options_1').parent().toggleClass('highlight-option2'); 
    }); 

    $('#id_run_options_1').change(function(){ 
     $('#id_run_options_1').parent().toggleClass('highlight-option2'); 
    });  
}); 

jsFiddler demo

+0

REDIT謝謝。我將'change'改爲'click',但它仍然沒有將字體變成別的東西。 http://jsfiddle.net/Wwdmm/5/ – User007

+0

謝謝。但爲什麼我們需要'.parent()'? – User007

+0

我不知道我是否會使用點擊。用戶可以選中/輸入一個複選框。我認爲'改變'是一個更好的用法。 – idrumgood

4

您正試圖改變複選框的類(因此顏色)簡化您的類別轉換,但你應該更改類的標籤(其父元素)。

這裏是你的代碼的短版:

$("#id_run_options_0").change(function() { 
    $("#id_run_options_1").parent().toggleClass("highlight-option2", this.checked); 
});​ 

DEMO:http://jsfiddle.net/Wwdmm/6/

0

即使該代碼將制定出

$('#id_run_options_0').click(function(){ 
      $('label[for="id_run_options_1"]').toggleClass('highlight-option2'); 
     }); 

jsFiddle demo link

相關問題