两个框,两个最大值 - 但未设置哪个值属于哪个框

时间:2011-06-21 20:13:10

标签: php javascript

希望我能解释一下我在寻找什么...

我有两个文本框:长度和宽度

在一个方框中,最大值为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个最小值。 希望这是可以理解的。

1 个答案:

答案 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;
    }
};

jsFiddle