JQuery:单击Checkbox时更改元素的样式

时间:2012-07-04 01:44:31

标签: jquery checkboxfor

我有一个html元素(使用MVC3 Razor)

       <h2 class="price">
              @Html.LabelFor(vm => vm.Price)
              @Html.Encode(@Model.Price)
       </h2>
        <div id="checkbox-price">
              @Html.CheckBoxFor(vm => vm.IncludeToPayment) Include in payment.
        </div>

当用户使用JQUery取消选中/选中Checkbox时,如何更改h2元素的样式(在这种情况下我想要文本修饰:穿过内部的项目)?

提前致谢。

2 个答案:

答案 0 :(得分:4)

$('#checkbox-price input:checkbox').change(function(){
  if (!$(this).is(':checked')) {
     $('.price').css('text-decoration', 'line-through')
  } else {
     $('.price').css('text-decoration', 'none')
  }
})

  $('#checkbox-price input:checkbox').change(function() { 
            // or $(`input[type="checkbox"]')
            var $obj = $('.price');
            if (!$(this).is(':checked')) {
              $obj.css('text-decoration', 'line-through'); //or addClass                
            } else {
              $obj.css('text-decoration', 'none'); // or addClass                
            }
        })

答案 1 :(得分:2)

这是一个简单的代码和live demo

这适用于所有复选框

$('input[type="checkbox"]').click(function() {
    if (this.checked) {
        //alert('Checked');
        $("h2").addClass('newclass');
    } else {
        //alert('Unchecked');
        $("h2").removeClass('newclass');
    }
});​

如果您想申请特定复选框,请使用以下

$('input[type="checkbox"]') to $('input.someclass)