JavaScript:如何对变量值求和并显示为div?

JavaScript:如何对变量值求和并显示为div?,javascript,jquery,html,Javascript,Jquery,Html,我是JS的新用户,我正在尝试对HTML输入的2个值求和 问题是: 我有3个HTML输入: 按类型输入=编号从输入字段中选择编号; 2个输入,类型=收音机 我想使用jQuery将数字字段的值与所选单选按钮的值实时相加 JS: HTML: 我只想将所选无线电输入的值添加到数量字段中的值 示例:如果quantity字段的值为100,我单击x单选按钮value=1,然后打印101。在您的表单中添加一个id,例如,我在这里使用了myForm,然后尝试以下几行: $('#myForm input').cha

我是JS的新用户,我正在尝试对HTML输入的2个值求和

问题是: 我有3个HTML输入:

按类型输入=编号从输入字段中选择编号; 2个输入,类型=收音机 我想使用jQuery将数字字段的值与所选单选按钮的值实时相加

JS:

HTML:

我只想将所选无线电输入的值添加到数量字段中的值

示例:如果quantity字段的值为100,我单击x单选按钮value=1,然后打印101。

在您的表单中添加一个id,例如,我在这里使用了myForm,然后尝试以下几行:

$('#myForm input').change(function() {
  var quantityVal = +$('#quantity').val();
  var radioVal = +$('[name="math"]:checked').val();
  var sum = quantityVal + radioVal;
  $('#sum').text(sum)
});
在这里,我们将为表单中的所有输入添加一个更改侦听器,这样,如果其中任何一个以任何方式更改,就不会像以前那样单击,那么函数将运行。然后,我们使用jQuery从数量输入和检查的无线电中获取值。您会注意到,我们还使用这两个函数来确保将它们转换为整数

最后,我们只需设置总和范围的值。尽管您可能应该添加一些空无线电值的错误检查,或者设置一个默认值,但是上面的内容应该可以帮助您实现这一点

这个怎么样

//任何时候编辑此内容时,请更新 $'quantity'.oninput,函数{ $'sum'。textsumethes; }; //任何名为math的单选按钮 //单击,我们执行此函数。 $'[name=math]'。单击函数{ $'sum'。textsumethes; }; 函数sumthes{ var qty=parseInt$quantity.val | 0; var addend=parseInt$[name=math]:checked.val | 0; 返回数量+加数; }
x和y不是jQuery属性,您需要$sum.text$this.val+x;。另外,当您仅获取一个ID时,请使用getElementById而不是querySelector。此外,您可以使用this.value而不是$this.val,因为它似乎是本地DOM和jQuery的混合。您最好解析这些值,否则您将得到一些时髦的字符串连接;你是怎么想的?他们已经在第2行和第3行使用一元加号进行转换了!我的坏。我没看见他们,他们太小了D做得很好。谢谢,它很有效。但有一个错误:若我首先点击收音机而不是输入=数字,系统会打印NaN@雪人应该被修复。通过将总和移动到一个单独的函数,两个操作的功能将完全相同。和错误检查是你的朋友。谢谢你,它的工作。最后,我还需要一件事:如果我首先选择单选按钮,然后输入=数字键,出于安全原因,需要取消选中单选按钮。我试图添加这一行:$y.checked=false@SnowmonkeyOk,我刚刚修正了这一行:document.getElementById'y'。checked=false;可以将此代码嵌入jQuery吗?不确定将其嵌入jQuery是什么意思,您可能只想将其保存到一个外部js文件中,并将其与其他脚本一起加载。
<form>
    <input id="quantity" type="number">
    <input id="y" name="math" type="radio" value="0">
    <input id="x" name="math" type="radio" value="1">
</form>
<span id="sum"></span>
$('#myForm input').change(function() {
  var quantityVal = +$('#quantity').val();
  var radioVal = +$('[name="math"]:checked').val();
  var sum = quantityVal + radioVal;
  $('#sum').text(sum)
});