【问题标题】:jquery - get a value in mix radio buttonjquery - 在混合单选按钮中获取一个值
【发布时间】:2022-01-14 07:51:28
【问题描述】:

你想检查一下我的代码有什么问题吗,当我点击单选按钮变量 r 没有值时,我有 2 组单选按钮:

<script>
$(document).ready(function() {
    var s = 0;
    var l = 0;
    var r = 0;

    $('input[type=radio][name="saverity"]').change(function() {
        s = $(this).val();
        console.log(s);
    });

    $('input[type=radio][name="likehood"]').change(function() {
        l = $(this).val();
        console.log(l);
    });

    r = s * l;
    console.log(r);

});

非常感谢。

【问题讨论】:

  • 你能添加一个工作的sn-p而不是代码块吗?
  • 所以你向你的输入添加了一个事件监听器,即.change()。但是您的脚本在 document.ready 上执行。在您的脚本中,输入字段所发生的只是添加了事件侦听器 - 之后的代码在初始加载后不会执行 - 变量仍设置为 0。您必须返回您的值并执行代码单独的功能。在 document.ready 上应用事件监听器,然后创建一个单独的计算器函数并在 input.change() 上调用它

标签: javascript jquery


【解决方案1】:

这样的事情应该可以工作。

$(document).ready(function() {
    var s = 0;
    var l = 0;
    var r = 0;

    $('input[type=radio][name="saverity"]').change(function() {
        s = $(this).val();
      recalculate();
    });

    $('input[type=radio][name="likehood"]').change(function() {
        l = $(this).val();
        recalculate();
    });
    
    function recalculate(){
        r = s * l;
        console.log(r);
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label>
  Saverity
  <input type="radio" name="saverity" value="0">
  <input type="radio" name="saverity" value="1">
</label>
<br>
<label>
  Likehood
  <input type="radio" name="likehood" value="0">
  <input type="radio" name="likehood" value="1">
</label>

【讨论】:

  • 它的工作。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-08
  • 2012-01-27
  • 2015-12-26
  • 2020-01-20
  • 2013-10-14
  • 1970-01-01
相关资源
最近更新 更多