Jquery 如何根据选择的单选按钮更新整数值?

Jquery 如何根据选择的单选按钮更新整数值?,jquery,html,radio-button,Jquery,Html,Radio Button,这应该是一个相当容易的问题,但我不知道如何解决它,也没有找到任何合适的答案,我正在尝试做什么 我有一个包含一些文本的html文件,用非常简单的术语来说,它有一个字符串和两个单选按钮。比如说: <html> <head> <title>Some title</title> <script src="jquery.js"></script> </head> &l

这应该是一个相当容易的问题,但我不知道如何解决它,也没有找到任何合适的答案,我正在尝试做什么

我有一个包含一些文本的html文件,用非常简单的术语来说,它有一个字符串和两个单选按钮。比如说:

    <html>
    <head>
      <title>Some title</title>
      <script src="jquery.js"></script>
    </head>
    <body>

      <div id="main">
         <p> 10 GB </p>
      </div>

      <div class="radioButtons" style="width: 100%">
        <p><input type="radio" name="radioLessGB" value="Less" align="absmiddle"/> I want less gigabytes(-3GB) </p>
            <p><input type="radio" name="radioMoreGB" value="More" align="absmiddle"/> I want more gigabytes (+5GB)</p>
      </div>
   </body>
   </html>
我需要一种方法来更新文本的值,即10 GB,具体取决于所选的单选按钮。特别是,当用户选择第一个单选按钮时,上面字符串中的整数值应立即下降3,即10 GB-3=7 GB,如果用户选择第二个单选按钮,整数值应加5,即10 GB+5=15 GB

要做到这一点,我想我必须解析字符串10GB以获得整数值,然后根据所选的单选按钮进行加法或减法。然后用结果更新字符串。 我不希望用户点击某种类型的提交按钮,当用户在单选按钮之间切换时,号码的更新应该“即时”完成

我想这可以用jQuery来完成,我只是不知道怎么做。有没有经验更丰富的人可以帮助您获得简单解决方案的示例代码

谢谢

使用,您只需按如下方式操作即可。试试

如果需要在纯javascript中执行此操作,请使用以下命令。试一试


jQuery是完成这项相当简单的任务的一种途径。您需要隔离主div。然后使用jQuery获取当前值,并使用单选按钮的onClick或jQuery:.clickfunction进行计算。我建议将单选选项的值放在输入标记中


签出:

我不会在这里给出完整的代码答案,只提供一些帮助您前进的提示:

不要解析字符串来执行计算,只使用数字或至少一个数字字符串。将值10放入特殊数据xxx属性中。您可以稍后通过以下方式访问这些数据:

对元素执行相同操作以保持增量值,例如,-3和+5,或将其各自的值用于

如果单击任何单选按钮,则使用“检测事件”,将选择的任何增量值添加到main中的值

使用以下命令显示总和的格式化值:


StackOverflow不是这个问题的合适位置。我们不会为您编写代码。你需要自己编写代码,如果你不确定为什么有些东西不能按预期工作,那么在发布代码时解释一下你期望它做什么,以及它实际在做什么,包括所有错误消息。请参阅。从处理程序开始。解析字符串不会真正起作用。如果您选择更少,并且它从当前的10GB中减去3GB,那么您将得到7GB,这很好。但是,如果随后选择“更多”,再次解析字符串,它将从5 GB增加到7 GB,并给出12 GB的结果-这是不正确的,假设它应该是15 GB,而不考虑之前选择的选项。当然,如果你按相反的顺序选择选项,你也会遇到同样的问题:10->15->12。@johncode-我不是在找人来写我要做的全部代码,只是作为一个初学者,我只是想得到一些提示。我很快从一些人那里得到了很好的提示,我相信其他用户也会从他们的答案中受益!!抱歉,如果听起来我想为我完成工作…不要使用onclick进行无线电和复选框输入,而是使用onchange。您可以使用键盘而不是鼠标来更改单选按钮或复选框的选中状态-onclick无法识别这一点,因为没有进行单击。为了避免我进行测试,您是否立即知道jQuery是否将数据值属性视为整数或字符串?@AnthonyGrist它将是字符串,所以,要么施法,要么施压,都需要用它来计算。@Jack谢谢你的提示!这对我正在努力做的事情很有价值!我猜使用parseInt也可以做数学运算,对吧@是的,当然。parseInt就可以了!嘿,狼,这正是我要找的!!!非常感谢你!通过示例开始学习jquery的好方法。
$("input").change(function() {
    $("#main").text((10 + parseInt($(this).val())) + " GB");
});
function valChanged(ele) {
    document.getElementById('main1233').textContent = (10 + parseInt(ele.value)) + " GB";
}
<div id="main" data-value="10">