计算器高度宽度

Calculator height width

我有一个 table 测量值 - 宽度和高度(附图)。红色行是宽度,黄色列是高度。对于宽度 400 和高度 700,价格为 1025。最大宽度为 600,最大高度为 900。我用选择完成了,但是我在使用输入创建价格计算时遇到问题,如果用户可以写入值在这个数字之间——例如,如果客户写的是 750 * 450mm,价格应该是 1325,因为必须在 700x400 之后四舍五入到更高的价格。

jQuery('.calc-btn').click(function(e) {
  e.preventDefault();
  var pricePerDoor = 725,
    widthInc = 225,
    heightInc = 75,
    oneDoorPrice,
    wert1 = jQuery('#width').prop('selectedIndex') + 1,
    wert2 = jQuery('#height').prop('selectedIndex') + 1,
    oneDoorPrice = (pricePerDoor + (wert1 * widthInc) + (wert2 * heightInc));
  jQuery('.total').val(oneDoorPrice);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
<select id="width">
<option value="400">400mm</option>
<option value="500">500mm</option>
<option value="600">600mm</option>
</select>
<select id="height">
<option value="700">700mm</option>
<option value="800">800mm</option>
<option value="900">900mm</option>
</select>
<input type="text" name="total" class="total">
<input type="submit" class="calc-btn" value="Submit">

您可以检查宽度和高度 array 最接近的最高数字形式数组的索引,并将该索引分配给您的逻辑。

for (var i = widthArr.length - 1; i >= 0; i--) {
    if (widthArr[i] >= wert1)
      widIndex = i + 1;
}

工作样本

jQuery('.calc-btn-input').click(function(e) {
  e.preventDefault();
  var pricePerDoor = 725,
    widthInc = 225,
    heightInc = 75;

  var widthArr = [400, 500, 600];
  var heightArr = [700, 800, 900];

  var widIndex = widthArr.length;
  var heightIndex = heightArr.length;

  var wert1 = parseInt(jQuery('#width_input').val());
  var wert2 = parseInt(jQuery('#height_input').val());

  for (var i = widthArr.length - 1; i >= 0; i--) {
    if (widthArr[i] >= wert1)
      widIndex = i + 1;
  }

  for (var i = heightArr.length - 1; i >= 0; i--) {
    if (heightArr[i] >= wert2)
      heightIndex = i + 1;
  }

  var oneDoorPrice = (pricePerDoor + (widIndex * widthInc) + (heightIndex * heightInc));
  jQuery('.total-input').val(oneDoorPrice);
});

jQuery('.calc-btn').click(function(e) {
  e.preventDefault();
  var pricePerDoor = 725,
    widthInc = 225,
    heightInc = 75,
    oneDoorPrice,
    wert1 = jQuery('#width').prop('selectedIndex') + 1,
    wert2 = jQuery('#height').prop('selectedIndex') + 1,
    oneDoorPrice = (pricePerDoor + (wert1 * widthInc) + (wert2 * heightInc));
  jQuery('.total').val(oneDoorPrice);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<select id="width">
  <option value="400">400mm</option>
  <option value="500">500mm</option>
  <option value="600">600mm</option>
</select>
<select id="height">
  <option value="700">700mm</option>
  <option value="800">800mm</option>
  <option value="900">900mm</option>
</select>

<input type="text" name="total" class="total">
<input type="submit" class="calc-btn" value="Submit">
<br>
<br>
<input id="width_input">
<input id="height_input">

<input type="text" name="total" class="total-input">
<input type="submit" class="calc-btn-input" value="Submit">