0
<script type="text/javascript">
$(document).ready(function() {
      $('label').click(function() {
         var total = 0;

          $('.option:checked').each(function() {
              total += Number($(this).data('number'));   
              total = total.toFixed(2); 

          });

              $('#ship_total').text(total);

                var sub_total = <?php echo $this->cart->total(); ?>;

                var ship_total = ($("#ship_total").text());

                var final_total = parseFloat(sub_total) + parseFloat(ship_total);

                final_total = final_total.toFixed(2);

            $('#new_total').text(final_total);

        $('.option:not(:checked)').removeClass('shippingSet');
        $('.option:checked').addClass('shippingSet');
      });
    });
</script>

很简单..我想将添加类添加到选中的收音机并从未选中的收音机中删除类。Radio 有一个类名为option

我可以使用 addClass$(this).addClass('shippingSet')但我不知道如何删除它。有人可以告诉我添加/删除课程的正确方法吗?谢谢。

HTML

<label><input type="radio" name="ship" class="option" data-number="<?php echo $shipTotal['Ground']; ?>" value="S1"/> Ground <b>$<?php echo $shipTotal['Ground']; ?></b></label>

演示 -->

http://jsfiddle.net/vdgAQ/1/

4

3 回答 3

1

没有看到 HTML 很难提供帮助,但你可以试试这个:

// remove class from all option elements
$('.option').removeClass('shippingSet'); 

// add class only to elements that satisfy your criteria
$('.option:checked').addClass('shippingSet');
于 2012-10-12T19:59:40.560 回答
1

这是你想要的?

http://jsfiddle.net/vdgAQ/2/

在您原来的小提琴中,您将类添加到单选按钮本身,这不会影响标签的样式,并且单选按钮本身没有要更改的文本颜色或要更改的 bg 颜色,因此您不会看到任何区别。我只加了

$('.option').parent().removeClass('shippingSet');
$('.option:checked').parent().addClass('shippingSet');

这会将类添加到“标签”的父级,它将影响包含可见文本的标签的 txt 和 bg

于 2012-10-12T20:18:48.120 回答
0

遍历所有元素并添加和删除检查:checked属性的类。

 $('.option').each(function(){
         if( $(this).is(':checked')){
             $(this).addClass('shippingSet');
         }
         else{
             $(this).removeClass('shippingSet');
         }
    });
于 2012-10-12T20:01:02.963 回答