【问题标题】:check input number whether bigger than certain value by using javascript使用javascript检查输入数字是否大于某个值
【发布时间】:2020-10-26 20:42:01
【问题描述】:

我正在尝试在页面中进行一些计算,但是它不起作用,我尝试了以下代码,有人可以告诉我正确的答案吗?

例如,当我输入一个数字时,它会进行其中一项计算。

<table><tr><td>
<input name="per_pax" size="2" style="border-style:none" type="text" id="per_pax" value="">
</td><td>
<input name="sum_tlcost" type="hidden" id="sum_tlcost" value="<?php echo $tl_cost;?>">
<input name="sum_htl_pp" type="hidden" id="sum_htl_pp" value="<?php echo $sum_htl_pp;?>">
<input name="sum_coach" type="hidden" id="sum_coach" value="<?php echo $sum_coach;?>"> 
<input name="pax" size="5" readonly="readonly" type="text" id="pax" value="">
</td></tr></table>
<script>
$(document).ready(function () {
var total = Number($("#per_pax").val());
if(total >= 20) {
$("#sum_tlcost,#sum_htl_pp,#sum_coach,#per_pax").keyup(function () {
if (parseInt($("#per_pax").val()) >= 20) {
$("#pax").val(Math.round(Number($("#sum_htl_pp").val()) + Number($("#sum_tlcost").val()) / Number($("#per_pax").val()) + Number($("#sum_coach").val()) / Number($("#per_pax").val()));
)}else{
$("#pax").val(Math.round(Number($("#sum_htl_pp").val()) + Number($("#sum_tlcost").val()) + Number($("#sum_coach").val())))
}
})}})
</script>

【问题讨论】:

  • 为什么keyup里面有document.ready?为什么要在 keyup 中绑定 change 事件?
  • 对不起,我对JS不熟悉,应该是这样吗?但还是不行
  • 我很确定您不想每次触发 change 事件时都绑定一个新的 - 重复的 - keyup 事件。

标签: javascript html jquery


【解决方案1】:

我不太喜欢 jquery keyup 调用......所以这里有一个 sn-p,它应该使用普通的 DOM 事件调用来调用你的函数。输入事件在键入时触发。这应该类似于您尝试对按键执行的操作...我还清理了函数本身,使其更易于演示。

function onInputChange() {
  var perPax = parseInt($("#per_pax").val());
  var tlCost = Number($("#sum_tlcost").val());
  var htlPP = Number($("#sum_htl_pp").val());
  var coach = Number($("#sum_coach").val());
  var newValue = 0;
  if (perPax < 20) {
    newValue = (htlPP + tlCost) / (perPax + (coach / perPax));
  } else {
    newValue = htlPP + tlCost + coach;
  }
  $("#pax").val(Math.round(newValue))
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr>
    <td>
      <input name="per_pax" size="2" style="border-style:none" type="text" id="per_pax" value="" oninput="onInputChange()">
    </td>
    <td>
      <input name="sum_tlcost" type="hidden" id="sum_tlcost" value="<?php echo $tl_cost;?>">
      <input name="sum_htl_pp" type="hidden" id="sum_htl_pp" value="<?php echo $sum_htl_pp;?>">
      <input name="sum_coach" type="hidden" id="sum_coach" value="<?php echo $sum_coach;?>">
      <input name="pax" size="5" readonly="readonly" type="text" id="pax" value="">
    </td>
  </tr>
</table>

【讨论】:

猜你喜欢
  • 2021-03-24
  • 1970-01-01
  • 1970-01-01
  • 2013-07-25
  • 2017-12-03
  • 2013-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多