根据其他输入设置最大值

Set max value based on another input

本文关键字:设置 最大值 输入 其他      更新时间:2023-09-26

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

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

因此,如果有人在输入x中输入100,并试图在输入y中输入90,那么输入y将变为80,因为这将是最大

我打算使用javascript和HTML来实现这一点。

我建议使用两个字段的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">

这里有一个使用JQuery和两个简单输入字段的简单解决方案。它几乎可以满足您的需求->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")
  }
})
}())

如果我理解正确:

输入如下:

<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;