Javascript jquery:两个数字的百分比(第2部分)

Javascript jquery:两个数字的百分比(第2部分),javascript,jquery,html,Javascript,Jquery,Html,这是最后一个成功主题的延续 首先我要感谢你对上一篇文章的及时支持。 现在我想让我的脚本更复杂一点。我想实现以下目标:如果我插入PRICE1和PRICE2,使它们之间有比率,那么我可以使用其他值更改比率,PRICE2根据比率值更改为共同响应值 我的计算脚本几乎是正确的,但我对JQuery的了解不多,这让我想问你我哪里做错了。 谢谢你的支持 <script src="libs/jquery.min.js"></script> <script type="text/j

这是最后一个成功主题的延续

首先我要感谢你对上一篇文章的及时支持。 现在我想让我的脚本更复杂一点。我想实现以下目标:如果我插入PRICE1和PRICE2,使它们之间有比率,那么我可以使用其他值更改比率,PRICE2根据比率值更改为共同响应值

我的计算脚本几乎是正确的,但我对JQuery的了解不多,这让我想问你我哪里做错了。 谢谢你的支持

<script src="libs/jquery.min.js"></script>

<script type="text/javascript">
$(function() {
    $("#PRICE1, #PRICE2").change(function() {
    var result = parseFloat(parseFloat($("#PRICE1").val(), 10) - parseFloat($("#PRICE1").val(), 10))/ parseFloat($("#PRICE2").val(), 10) * 100;
    $('#RATE').val(result||'');
  })
  else {
   $("#PRICE1, #RATE").change(function() {
    var result = parseFloat(parseFloat($("#PRICE1").val(), 10) *  parseFloat($("#RATE").val(), 10))/ 100 + parseFloat($("#PRICE1").val(), 10);
    $('#PRICE2').val(result||'');
  })}
});
</script> 

谢谢所有帮助我的人

存在一个
else
,如果
,则没有匹配的
。我不确定你想达到什么目的,但有些条件需要检查

我将尝试编写您需要的代码。但我要重命名你的变量,不仅因为allcaps很难输入,而且除非它是常量或宏,否则不应该使用它们

// In ready() callback
// @NOTE - This does NO error checking for division by 0 or other NaN operations.

// If price two is changed, adjust the rate.
$("#priceTwo").change(function() {
  var priceOne = parseFloat($("#priceOne").val());
  var priceTwo = parseFloat($(this).val());
  $("#rate").val(priceTwo / priceOne); // Set the rate
});
// If price one or the rate is changed, adjust price two.
$("#rate #priceOne").change(function() {
  var priceOne = parseFloat($("#priceOne").val());
  var rate = parseFloat($("#rate").val());
  $("#priceTwo").val(priceOne * rate);
});
关于您的代码,有几点需要注意:

  • parseFloat
    不接受基数参数,传递它的
    10
    将被忽略
  • parseFloat(parseFloat(…
    是没有意义的,我不知道你为什么这么做
  • 不要使用jQuery在同一范围内多次选择同一元素。保存该值并重新使用它-为自己节省一些周期
  • 正如我提到的,不要用大写字母来命名变量,除非它们是某种永远不应该改变的常量,保持干净的风格习惯是很好的

对于
else
语句,if
没有匹配的
。第一部分和第二部分非常相似:第一部分计算Price1和PRICE2之间的利率…但是第二部分如果我更改了利率值,则PRICE 2被生成为PRICE2@SergiuCostas-好的,我做了一些改变,希望他们能解决解决您的问题。谢谢您的方式…它在逻辑上似乎是正确的。但脚本仍然没有产生结果:(@SergiuCostas-好吧,那么这不是代码问题,这是逻辑问题,很难确定你想要实现什么。我上面的代码,如果分成两部分,分别工作,因为它们需要带来结果,但我不知道如何组合它们。你的代码看起来逻辑上很好,但缺少一些东西,我不知道具体是什么,但它不起作用:(
// In ready() callback
// @NOTE - This does NO error checking for division by 0 or other NaN operations.

// If price two is changed, adjust the rate.
$("#priceTwo").change(function() {
  var priceOne = parseFloat($("#priceOne").val());
  var priceTwo = parseFloat($(this).val());
  $("#rate").val(priceTwo / priceOne); // Set the rate
});
// If price one or the rate is changed, adjust price two.
$("#rate #priceOne").change(function() {
  var priceOne = parseFloat($("#priceOne").val());
  var rate = parseFloat($("#rate").val());
  $("#priceTwo").val(priceOne * rate);
});