根据其他输入设置最大值

时间:2016-03-23 15:05:44

标签: javascript html input attributes max

我需要根据另一个输入的值设置输入的最大值。

我将有两个输入,输入x和输入y,用户输入一个值,但y的值不能超过x值的80%,所以我想要输入y的最大值所以你不能超过输入x的80%。

所以,如果有人在输入x中输入100并尝试在输入y中输入90,则输入y将变为80,因为这将是最大值。

我打算用javascript和HTML来实现这一目标。

3 个答案:

答案 0 :(得分:1)

我建议使用两个字段的onchange事件监控输入,并使用Math.min(...)

限制值

这是一个片段:

var elX = document.getElementById("X");
var elY = document.getElementById("Y");

function limit() {
	elY.value=Math.min(Math.round(elX.value*.8),elY.value);
}

elX.onchange=limit;
elY.onchange=limit;
<input type="number" id="X" value="0"><br>
<input type="number" id="Y" value="0">

答案 1 :(得分:0)

如果我理解正确:

输入就像这样:

<input type="number" id="Y" max="numberHere">

你可以喜欢这个:

var temp = document.getElementById("Y");
var maxValue = document.getElementById("X").value * 0.8;
temp.setAttribute("max",maxValue); // set a new value;

答案 2 :(得分:0)

这是一个使用JQuery和2个简单输入字段的简单解决方案。它几乎可以做你想要的 - &gt; JSFiddle

相关HTML:

<input type="number"id="x">  
<input type="number" id="y">

相关JS:

(function(){
$("#y").on("change", function(e){
    var x = $("#x").val()
  if($(this).val() > (x*80)/100){
    $(this).val(((x*80)/100));
    alert("field Y cannot excede 80% of field X")
  }
})
}())