0

これが私のデモコードhttp://jsfiddle.net/Wwdmm/3/です

しかし、 をクリックしても何も起こりませんrequirerequireクリックしてフォントの色を変更したいのですが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');
}});
});
4

3 に答える 3

4

チェックボックスのクラス (したがって色) を変更しようとしていますが、ラベル (その親要素) のクラスを変更する必要があります。

コードの短いバージョンは次のとおりです。

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

デモ: http://jsfiddle.net/Wwdmm/6/

于 2012-06-26T21:23:57.207 に答える
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 のデモ

于 2012-06-26T21:15:48.207 に答える
0

このコードでもうまくいきます

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

jsFiddle デモリンク

于 2012-06-26T21:26:45.113 に答える