我需要根据另一个输入的值设置输入的最大值。
我将有两个输入,输入x和输入y,用户输入一个值,但y的值不能超过x值的80%,所以我想要输入y的最大值所以你不能超过输入x的80%。
所以,如果有人在输入x中输入100并尝试在输入y中输入90,则输入y将变为80,因为这将是最大值。
我打算用javascript和HTML来实现这一目标。
答案 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")
}
})
}())