【问题标题】:Calculating the price with radio value in jQuery在 jQuery 中使用单选值计算价格
【发布时间】:2014-05-19 11:05:18
【问题描述】:

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

http://jsfiddle.net/9baeJ/

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>

还有js:

var sum = 0;
$("#myForm").find("input[type='radio']:checked").each(function (i, e){sum+=$(e).val();});
$("#totalScore").val(sum);

我尝试了在 stackoverflow 中看到的所有内容,但我不明白代码有什么问题。实际上,此解决方案是有人已经发布的示例之一。

【问题讨论】:

  • 你想做什么??
  • 如题,用单选值计算总数
  • 它工作正常。已在 chrome 中签入。
  • 它不在 Mozilla 中
  • @user3506043: 在 mozilla 中也能正常工作

标签: jquery forms sum radio


【解决方案1】:

试试这个

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()
    });
});

DEMO

【讨论】:

  • @user3506043 很高兴为您提供帮助:-)
【解决方案2】:

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);
    });
});

DEMO

【讨论】:

  • 好吧,看起来这不起作用,我仍然不知道为什么,但我明白你在说什么。
  • 这在小提琴中起作用,但这只是 html 的一部分,我不知道为什么当我实现它时它不起作用。所以无论如何,我明白了你所说的意思,下次我遇到跨度问题时会考虑一下。
  • @user3506043 问题很可能是您缺少像这样的 DOM 就绪处理程序 $(function(){}); 我会更新答案
  • 是的,我很笨,我只是在测试所有东西(不仅仅是这里的代码)做 ctrl+c ctrl+v,对不起伙计。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-29
  • 1970-01-01
相关资源
最近更新 更多