首页 > 解决方案 > jquery如何用ca调用函数

问题描述

嗯,我有一个总值输出,我想添加一个与之链接的函数。但我有问题把它放在一起。我只是在控制台中收到 NaN 或“未定义”错误。

我想用于总值输出的函数:

  function updateyett(yett) {
    $amount = $('#yett'); // cache for later use
    if($('#CalculatorPlacing').is(':checked')) {
       $amount.val(parseInt($amount.val(),10) + yett);
    } else {
      $amount.val(parseInt($amount.val(),10) - yett);
    }
  }

我的总价值 Jquery:

  $(document).ready(function() {
    var begin = 720;
    $("#yett").val('Total €' + begin.toFixed(2));
    $("#FenceCorners").on("change", function() {
      var prev = $("#yett").val();
      prev = prev.split('€')[1];
      var updateyett1 = updateyett() // HERE I TRY TO LINK IT

      var total = ($(this).find(":selected").data("price") * 100) / 100;
      total = parseInt(begin) + parseInt(total) + parseInt(updateyett1); //use begin
      $("#yett").val('Total €' + total.toFixed(2));
    });
  });

我的总价值 HTML

<div class="SummaryRow">
  <h1><input type="yeets" name="_mdjm_event_cost" id="yett" class="mdjm-input-currency required" readonly="readonly" value="" placeholder="Totaal €0.00" style="
        height: 100px;
        width: 275px;
        margin-top: -40px;
        color: black;
        font-weight: bold;" />
  </h1>
</div>

正如你所看到的,我在 Jquery 中尝试了一些东西,但还没有真正找到让它工作的方法,希望有人能把我引向正确的方向。

标签: jqueryhtml

解决方案


输入的初始值是一个空字符串。parseInt("", 10)返回NaN,因为那里没有要解析的数字。

要么将它初始化为value="0"它始终是一个数字,要么在你的代码中检查它。

  function updateyett(yett) {
    $amount = $('#yett'); // cache for later use
    var oldamount = parseInt($amount.val(), 10);
    if (isNan(oldamount)) {
        oldamount = 0;
    }

    if($('#CalculatorPlacing').is(':checked')) {
        $amount.val(oldamount + yett);
    } else {
        $amount.val(oldamount - yett);
    }
  }

推荐阅读