使用输入类型jQuery的公式实时更改值

时间:2016-04-14 15:40:34

标签: javascript jquery html

我必须输入:

  • 首先,用户可以输入金额(例如1000)。
  • 第二个输入是只读的。 我需要在First + 1%(百分比)的值中在第二个输入中创建值。

因此,如果用户在第一个字段中键入值:1000。 在第二个字段必须出现1010

代码:

$(document).ready(function() {
  $("#summWithoutComission").keyup(function() {
    var thisVal = $("#summWithoutComission").val;
    $("#summWithComission").val(thisVal);
  });
});

标记:

<input type="text" id="summWithoutComission" name="AMOUNT" maxlength="50" value="1000" class="text-field" />
<input type="text" id="summWithComission" value="" readonly class="text-field" />

这是小提琴https://jsfiddle.net/9hpyg1pc/4/

2 个答案:

答案 0 :(得分:1)

在您的小提琴示例中,您需要将jquery添加为外部js资源:

https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js

但这可以解决你的问题:

$(document).ready(function(){
        $("#summWithoutComission").keyup(function(){

             var thisVal=$("#summWithoutComission").val();
             var commVal = (parseFloat(thisVal) * (1/100)) + parseFloat(thisVal);
             $("#summWithComission").val(commVal);

        });
    }); 

答案 1 :(得分:1)

如果要为数字添加百分比,则应将该数字乘以1加上百分比。

百分比是除以100的分数。对于您的示例1除以100或1/100 = 0.01,然后将1添加到此百分比,以便得到1.01

使用3490条目,例如3490 + 1%= 3490 * 1.01 = 3524.9

因此,对于您的示例,它将是:

1000 + 1%= 1000 * 1.01 = 1010

现在调整代码:我们需要先将其解析为数值。

$(document).ready(function() {
  $("#summWithoutComission").keyup(function() {
    var thisVal = parseFloat($(this).val());
    var percentValue = thisVal * 1.01;
    $("#summWithComission").val(percentValue );
  });
});

现在,请注意您在第一个字段中已有值。所以要计算你可以像这样简单地触发你的密钥:

$(document).ready(function() {
  $("#summWithoutComission").keyup(function() {
    var thisVal = parseFloat($(this).val());
    var percentValue = thisVal * 1.01;
    $("#summWithComission").val(percentValue );
  }).trigger('keyup');
});

这是一个更新的小提琴:https://jsfiddle.net/MarkSchultheiss/9hpyg1pc/7/