<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>
足够简单..我想将addClass添加到已检查的radio和removeClass中。电台有一个名为option
我可以使用$(this).addClass('shippingSet')
添加类,但我不知道如何删除它。有人可以告诉我添加/删除课程的正确方法吗?感谢。
<label><input type="radio" name="ship" class="option" data-number="<?php echo $shipTotal['Ground']; ?>" value="S1"/> Ground <b>$<?php echo $shipTotal['Ground']; ?></b></label>
答案 0 :(得分:1)
如果没有看到HTML,很难提供帮助,但您可以尝试这样做:
// remove class from all option elements
$('.option').removeClass('shippingSet');
// add class only to elements that satisfy your criteria
$('.option:checked').addClass('shippingSet');
答案 1 :(得分:1)
这是你在找什么?
在您的原始小提琴中,您将该类添加到单选按钮本身,这不会影响标签的样式,单选按钮本身没有要更改的文本颜色或要更改的颜色,因此您将看不到任何区别。我只添加了
$('.option').parent().removeClass('shippingSet');
$('.option:checked').parent().addClass('shippingSet');
这会将类添加到父项“label”,它会影响包含可见文本的标签的txt和bg
答案 2 :(得分:0)
迭代所有元素并添加和删除检查:checked
属性的类。
$('.option').each(function(){
if( $(this).is(':checked')){
$(this).addClass('shippingSet');
}
else{
$(this).removeClass('shippingSet');
}
});