Javascript 对输入文本和收音机的动态值求和

Javascript 对输入文本和收音机的动态值求和,javascript,jquery,html,text,radio,Javascript,Jquery,Html,Text,Radio,我试图将动态变化的输入文本的值与动态变化的收音机的值相加。我做了一些正确的事情,但也做了一些错误的事情,因为它不能在我想要的时候求和。总和应该显示每次输入文本的变化,而不是随机消失,然后你点击一个收音机,只是总和他们 小提琴 代码呢 <form id="myForm" accept-charset="UTF-8"> <button type="button" class="btn-tt btn-primary btn-lg" disabled>1. Elige e

我试图将动态变化的输入文本的值与动态变化的收音机的值相加。我做了一些正确的事情,但也做了一些错误的事情,因为它不能在我想要的时候求和。总和应该显示每次输入文本的变化,而不是随机消失,然后你点击一个收音机,只是总和他们

小提琴

代码呢

<form id="myForm" accept-charset="UTF-8">
    <button type="button" class="btn-tt btn-primary btn-lg" disabled>1. Elige el color</button></br>
        <label>
            <input class="calc" id="fb1" type="radio" name="fb" value="10">
            <img src="img/01.jpg"/>
        </label>            
        <label>
            <input class="calc" id="fb2" type="radio" name="fb" value="15">
            <img src="img/02.jpg"/>
        </label>
    </br>
    </br>
    <button type="button" class="btn-tt btn-primary btn-lg" disabled>2. Elige las medidas</button></br>
    <div class="row">
        <div class="col-xs-2">
            ancho (cm.)
            <input id="ancho" type="text" class="form-control" placeholder="100">
        </div>
        <div class="col-xs-2">
            alto (cm.)
            <input id="alto" type="text" class="form-control" placeholder="100">
        </div>      
        <div class="col-xs-2">
            cantidad
            <input id="cantidad" type="text" class="form-control" placeholder="1">
        </div>
    </div>
    </br>
    <button type="button" class="btn-tt btn-primary btn-lg" disabled>3. Posición mecanismo</button></br>
        <label>
            <input class="calc" id="fb3" type="radio" name="fb1" value="20">
            <img src="img/01.jpg"/>
        </label>            
        <label>
            <input class="calc" id="fb4" type="radio" name="fb1" value="35">
            <img src="img/02.jpg"/>
        </label>

    <div>
        Total: <span id="price">0</span>€
    </div>
</form>
js:


如果是一个简单的求和,您只需在keyup上运行更新代码并更改所有输入元素的事件:

$("input").change(function(){update();}).keyup(function(){update();});
要更新它们,首先需要检查并查看选中了两个单选按钮中的哪一个并获取其值:

function update(){

    var p = 0;
    for(var i = 0; i < $(".calc").val(); i++)
    {
        if($($(".calc")[i]).prop("checked") == true)
        {
            p += parseInt($($(".calc")[i]).val());
        }
    }

我根本不知道你在总结什么。在第一个框中输入1将得到11,11将得到11250,111将得到1111450。发生了什么?如果你把文本框的值加起来,设置为80,那么80/8+1加上收音机的值,价格的值就会动态变化。你在找什么东西吗@David就是这样,但是第二台收音机坏了!这对我有好处。第一个值为10,第二个值为15,对吗?正是我想要做的,非常感谢。我学到了一些新东西@用户3506043没问题!
function update(){

    var p = 0;
    for(var i = 0; i < $(".calc").val(); i++)
    {
        if($($(".calc")[i]).prop("checked") == true)
        {
            p += parseInt($($(".calc")[i]).val());
        }
    }
    p = parseInt(p);

    p += parseInt(val2($("#ancho")));
    p += parseInt(val2($("#alto")));
    p += parseInt(val2($("#cantidad")));

    p = parseInt(p);

    $("#price").html(p);
}

function val2(elm){
    if(isNaN(parseInt($(elm).val())))
       return 0;
    else
        return parseInt($(elm).val());
}