javascript - jquery 检查单选框是否在价格计算器上被选中

标签 javascript jquery html css forms

我有这段 JavaScript 可以根据单选/复选框选择来汇总总价

JQUERY

var price = 0;
$('.price-input').click(function () {
    if ($(this).is(":checked")) {
        price += parseInt($(this).attr("data-price"), 10);
        $('.total-price').text(price);
        $('.total-price-input').val(price);
    } else {
        price -= parseInt($(this).attr("data-price"), 10);
        $('.total-price').text(price);
        $('.total-price-input').val(price);
    }
});

HTML 是 3 个单选按钮和 3 个复选框的集合,其中单选按钮是一个价格,复选框可以将 3 个价格与单选按钮价格相加得出总价。

<input class="price-input" data-price="2000" id="ChosenLane" name="ChosenLane" type="radio" value="Konference - Spor 1: Lean">                         
<input class="price-input" data-price="1300" id="ChosenLane" name="ChosenLane" type="radio" value="Konference - Spor 2: Innovation">                          
<input class="price-input" data-price="1600" id="ChosenLane" name="ChosenLane" type="radio" value="Kage">

<input type="checkbox" name="lanes" value="Aften buffet" data-price="1000" class="price-input">      
<input type="checkbox" name="lanes" value="fthrctfyh" data-price="5456" class="price-input">
<input type="checkbox" name="lanes" value="dfhxfhg" data-price="54545" class="price-input">

总而言之,如果我选择一个单选按钮,它会将单选按钮的价格添加到价格中,但如果我再次单击一个单选按钮,它将再次将价格添加到总价中。我想要单选按钮,如果选择了一个则不要添加,而是只使用它的价格。

因此,如果我选中一个单选按钮,它会为价格加 2000,如果我单击另一个单选按钮,它会减去 2000 并增加 1300。

最佳答案

请检查以下解决方案:

JQUERY

$(function () {
    $('.price-input').change(function () {
        var price = 0;
        $('.price-input').each(function(){
            if ($(this).is(":checked")) {
             price += parseInt($(this).attr("data-price"), 10);
            }
        })
        $(".totalPrice").text(price);
    });
})

fiddle :http://jsfiddle.net/kkqqfaqv/

关于javascript - jquery 检查单选框是否在价格计算器上被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32009013/

相关文章:

javascript - 具有 PhoneGap + Firebase 身份验证问题的混合应用

Jquery 在单击标题时选择取消选中复选框

javascript - 使用jquery切换div的高度

javascript - 如何通过ajax向java servlet发送数据

javascript - 在 Javascript 中定义对象

php - 如何将 POST 数据加载到 SimpleXML 中?

css - 通过视差添加图像 (Bootstrap 4)

javascript - onsubmit 验证所有函数返回真

javascript - 如何强制 Firefox(版本 6)释放内存?

javascript - 对象上没有纹理的 webGL 环境照明