在jQuery中使用单选值计算价格

在jQuery中使用单选值计算价格,jquery,forms,sum,radio,Jquery,Forms,Sum,Radio,显然,这应该可以,但不起作用: HTML: <form id="myForm"> <label> 20 <input id="fb3" type="radio" name="fb1" value="20" /> </label> <label> 35 <input id="fb4" type="radio" name="fb1" value

显然,这应该可以,但不起作用:

HTML:

<form id="myForm">
    <label>
        20
        <input id="fb3" type="radio" name="fb1" value="20" />
    </label>

    <label>
        35
        <input id="fb4" type="radio" name="fb1" value="35" />
    </label>

    <label>
         10
         <input id="fb1" type="radio" name="fb" value="10" />
     </label>

    <label>
        15
        <input id="fb2" type="radio" name="fb" value="15" />
    </label>
    <br/>
    Total: <span id="totalScore">0</span>€
</form>

我尝试了在stackoverflow中看到的所有东西,但我不知道代码有什么问题。实际上,这个解决方案是有人已经发布的示例之一。

Span没有值,您必须使用.text()或.html()。您还需要使用DOM就绪处理程序包装代码

试试这个

$(function(){
    $('#myForm input[type="radio"]').on('change', function () {
        var sum = 0;
        $("#myForm").find("input[type='radio']:checked").each(function () {
            sum += parseInt(this.value);
        });
        $("#totalScore").text(sum);
    });
});

试试这个

function calcscore(){
    var score = 0;
    $("input[type='radio']:checked").each(function(){
        score+=parseInt($(this).val());
    });
    $("#totalScore").text(score)
}
$().ready(function(){
    $("input[type='radio']").change(function(){
        calcscore()
    });
});

你想做什么?按照标题所说,用无线电值计算总数,然后它就可以正常工作了。已签入chrome。它不在Mozilla编辑中:好的,链接被窃听并且没有保存更改,我正在更改链接question@user3506043:在mozilla Toook中正常工作看起来这不起作用,我仍然不知道为什么,但我明白你所说的重点。这是在小提琴上工作,但这只是html的一部分,我不知道为什么我实现它时它不工作。总之,我明白了你所说的要点,下次我遇到跨度问题时会考虑这个问题。@user3506043好吧,问题很可能是你缺少了一个DOM就绪的处理程序,比如
$(function(){})我会更新答案是的,我很笨,我只是在测试一切(不仅仅是这里的代码),按ctrl+c ctrl+v,对不起,伙计。@user3506043很高兴帮助你
:-)
function calcscore(){
    var score = 0;
    $("input[type='radio']:checked").each(function(){
        score+=parseInt($(this).val());
    });
    $("#totalScore").text(score)
}
$().ready(function(){
    $("input[type='radio']").change(function(){
        calcscore()
    });
});