希望我能解释一下我在寻找什么...
我有两个文本框:长度和宽度
在一个方框中,最大值为200,而在另一个方框中为100。目前我正在使用此代码:
document.getElementById('Length').onchange = function(){
if(this.value > 200){
this.value = 200;
}
if(this.value < 10){
this.value = 10;
}
}
document.getElementById('Width').onchange = function(){
if(this.value > 100){
this.value = 100;
}
if(this.value < 20){
this.value = 20;
}
}
这是棘手的部分:我希望不设置哪个框具有哪个最大值。这应该取决于客户的类型。 如果有人在长度中键入小于100的值,则宽度的最大值为200.但如果有人在长度中键入“158”,则宽度的最大值应为100,而长度的最大值为200.反之亦然。
此外,如果有人首先在长度中键入150然后在宽度中键入160,则长度中的250应更改为100 - 因此200最大值应属于最近具有高于100的值的框最大
编辑:此外,是否可以将最大值与最小值连接?因此,获得200最大值的盒子也有10个最小值,然后另一个盒子有100个最大值和20个最小值。 希望这是可以理解的。
答案 0 :(得分:2)
这样的事情,也许是:
var length = document.getElementById('Length'),
width = document.getElementById('Width');
length.onchange = function() {
var maxValue = width.value < 100 ? 200 : 100;
if (this.value > maxValue) {
this.value = maxValue;
}
if (this.value < 10) {
this.value = 10;
}
};
width.onchange = function() {
var maxValue = length.value < 100 ? 200 : 100;
if (this.value > maxValue) {
this.value = maxValue;
}
if (this.value < 10) {
this.value = 10;
}
};