javascript - 代码计算百分比的问题

标签 javascript html

我有3盒。一个已经在计算分数,一个是可能的总分,然后第三个框应该计算这两个数字的百分比。

我从 jsfiddle.net 上的某人那里复制了此内容,将其合并到我的 HTML 模板中,但无法使其正常工作

(function() {

  $('#pointspossible').on('input', function() {
    calculate();
  });
  $('#pointsgiven').on('input', function() {
    calculate();
  });

  function calculate() {
    var pPos = parseInt($('#pointspossible').val());
    var pEarned = parseInt($('#pointsgiven').val());
    var perc = "";
    if (isNaN(pPos) || isNaN(pEarned)) {
      perc = " ";
    } else {
      perc = ((pEarned / pPos) * 100).toFixed(1);
    }

    $('#pointsperc').val(perc);
  }
});
<DIV>
  <INPUT id=pointsgiven title="" style="MARGIN: auto" accessKey="" name=pointsgiven ex_ctrlid="pointsgiven" ex_ctrltype="TextField">
  <INPUT id=pointspossible title="" style="MARGIN: auto" accessKey="" name=pointspossible ex_ctrlid="pointspossible" ex_ctrltype="TextField">
  <DIV>
    <INPUT disabled id=pointsperc title="" style="MARGIN: auto" accessKey="" name=pointsperc ex_ctrlid="pointsperc" ex_ctrltype="TextField">
  </DIV>
</DIV>

<DIV></DIV>

百分比根本没有上升。如果您得到 50 分(满分 50 分),那么您的百分比就是 100%

最佳答案

$(function() { 是文档就绪事件处理程序,$ 是 jQuery 的别名,因此它可以是 jQuery(function() {jQuery(document)ready(function() { (前者是首选)

必须包含 jQuery 库才能使用 jQuery。

请注意,我们还可以使用更少的代码

 $('#pointspossible').add('#pointsgiven').on('input', function() {
    calculate();
  });

或者

$('#pointspossible,#pointsgiven').on('input', function() {
    calculate();
});

或者甚至只是将函数名称放入

$('#pointspossible,#pointsgiven').on('input', calculate)

$(function() {
  $('#pointspossible').on('input', function() {
    calculate();
  });
  $('#pointsgiven').on('input', function() {
    calculate();
  });

  function calculate() {
    var pPos = parseInt($('#pointspossible').val());
    var pEarned = parseInt($('#pointsgiven').val());
    var perc = "";
    if (isNaN(pPos) || isNaN(pEarned)) {
      perc = " ";
    } else {
      perc = ((pEarned / pPos) * 100).toFixed(1);
    }

    $('#pointsperc').val(perc);
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<DIV>
  <INPUT id=pointsgiven title="" style="MARGIN: auto" accessKey="" name=pointsgiven ex_ctrlid="pointsgiven" ex_ctrltype="TextField">
  <INPUT id=pointspossible title="" style="MARGIN: auto" accessKey="" name=pointspossible ex_ctrlid="pointspossible" ex_ctrltype="TextField">
  <DIV>
    <INPUT disabled id=pointsperc title="" style="MARGIN: auto" accessKey="" name=pointsperc ex_ctrlid="pointsperc" ex_ctrltype="TextField">
  </DIV>
</DIV>

<DIV></DIV>

关于javascript - 代码计算百分比的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57594539/

相关文章:

javascript - 此代码似乎不会触发此按钮。出了什么问题?

javascript - keyup 函数突出显示正在输入的值

javascript - 使用 jQuery 在回发时设置 img src

javascript - AngularJS - 一级数组上的 ng-repeat 表格

html - CSS 模态不会位于顶部

javascript - 如何使用 JQuery 切换功能在单击时显示/隐藏 DIV?

javascript - 我如何知道用户是否使用 javascript 或 php 使用同一台计算机或不同计算机登录

html - 带有框阴影的样式输入类型 ="file"

javascript - Isotope relayout 方法错误,没有这样的方法

html - XHTML 自闭元素在 HTML5 中仍然有效吗?