试图管理2个输入的值

时间:2017-06-06 15:16:04

标签: javascript jquery

我说英语不是很好,但是这个问题可能会让我感到害怕..我从3天开始......

我有2个输入,每个输入可以是1到100。 但我需要两者的加成从不低于100。 例如:40& 60,30和30 70,......

我尝试使用focusout(我需要的rly)更改第二个输入,将第二个输入添加到我需要的值。 例如: 输入1:值40 输入2:值20(在这种情况下,我需要在每次聚焦时将此输入更改为60)

对不起这个可怜的英语,但这次我不需要阅读解决方案(之前从未发布,因为我总能找到我需要的东西)。

这是我的代码:

{{1}}

谢谢,我希望你能帮助我,再见!

2 个答案:

答案 0 :(得分:0)

您可以在第二个输入上使用'blur'事件&第一次输入时keyup

一旦焦点从第二个输入中移除,

blur将开始计算。 在更新第一个输入时,第二个字段将设置为空

$("#coemp_pret1").on("keyup", function() {
  $("#QuotDecAdh_s3p1").val("");
});
$("#QuotDecAdh_s3p1").on("blur", function() {
  if ("" !== $("#coemp_pret1").val() && ($(this).val(), 100 > $(this).val() + $("#coemp_pret1").val())) {
    var a = 100 - $("#coemp_pret1").val();
    $(this).val(a);
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id="coemp_pret1">
<input type="text" id="QuotDecAdh_s3p1">

答案 1 :(得分:0)

我添加了一个新事件来处理第一个输入更改。因此,每次change来自它的值时,第二个值将重置为''。

还为第二个字段添加了.on('blur')事件,因此您可以检查两者的总和是否低于100.如果是,则将提取与100和总和之差,以显示为第二个字段输入值。

以下代码:

$(function() {
  $('#inp1').on('change', function() {
    $('#inp2').val('');
  });

  $('#inp2').on('blur', function() {
    var val1 = $('#inp1').val();

    if (val1 > 0) {
      var val2 = $(this).val();
      var sum = (val1 + val2);

      if (sum < 100) {
        var diff = (100 - sum);
        $(this).val(diff);
      }
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span>Value 1</span>
<input id="inp1" type="text" />
<br />
<br />
<span>Value 2</span>
<input id="inp2" type="text" />