提问者:小点点

jQuery NaN结果


我正在尝试使用jQuery创建一个简单的计算器,现在已经用了几个小时的NaN结果。 不知道我漏了什么或者哪里犯了错。 基本上我只想把2个输入字段相乘。

帮个忙就好了!

null

var b = jQuery('input[name="mpfc-not-f"]').val();
var c = jQuery('input[name="atv-f"]').val();
total_rev = 0;
total_rev = Math.round(b * c);
totals_rev = total_rev.toString().replace(/(d)(?=(d{3})+(?!d))/g, "$1,");

jQuery(".over-total").text(totals_rev);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" value="0" name=" mpfc-not-f" class="mpfc-not"/>
<input type="text" value="0" name="atv-f" class="atv"/>
<p class="over-total">0</p>

null


共3个答案

匿名用户

尝试使用:

jquery(document).ready(() => {

var b = jQuery('input[name="mpfc-not-f"]').val();
var c = jQuery('input[name="atv-f"]').val();
total_rev = 0;
total_rev = Math.round(b * c);
totals_rev = total_rev.toString().replace(/(d)(?=(d{3})+(?!d))/g, "$1,");

jQuery(".over-total").text(totals_rev);


});

匿名用户

试试这个

null

function mul(){
  var b = jQuery('input[name="mpfc-not-f"]').val();
  var c = jQuery('input[name="atv-f"]').val();
  total_rev = 0;
  total_rev = Math.round(b * c);
  totals_rev = total_rev.toString().replace(/(d)(?=(d{3})+(?!d))/g, "$1,");
  jQuery(".over-total").text(totals_rev);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" value="0" name="mpfc-not-f" class="mpfc-not"/>
<input type="text" value="0" name="atv-f" class="atv"/>
<p class="over-total">0</p>
<button onclick="mul()">Multiply</button>

匿名用户

Maby这对你有帮助

null

function doMath(){
  let multiply_result =  $("#numberA").val() * $("#numberB").val();
  console.log(multiply_result);
  return multiply_result;
}

$(".number").change(function(){
  let result = doMath();
  jQuery(".over-total").text(result);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="numberA" value="0" name=" mpfc-not-f" class="mpfc-not number"/>
<input type="text" id="numberB" value="0" name="atv-f" class="atv number"/>
<p class="over-total">0</p>
</div>