如何检查输入数字是不是在多个数字Jquery之间?

Posted

技术标签:

【中文标题】如何检查输入数字是不是在多个数字Jquery之间?【英文标题】:How to check if an input number is between multiple numbers Jquery?如何检查输入数字是否在多个数字Jquery之间? 【发布时间】:2020-09-22 14:51:24 【问题描述】:

我有一个输入要求您输入您为某物支付的价格

<input type="number" class="purchase_price">

现在我需要 Jquery 做的是更改隐藏输入 purchase_price_date 的值

<input type="hidden" name="purchase_price_data" class="purchase_price_data" value="">

但是我需要它来检查用户在 purchas_price 输入框中输入的数字,并查看它在列表中的位置: 如果该物品是为购买的;

250-500 然后将 purchase_price_data 的值更改为“最高覆盖 500”

501-751 然后将 purchase_price_data 的值更改为“最高覆盖 750”

751-1000 然后将 purchase_price_data 的值更改为“最高覆盖 1000”

我正在尝试这样的事情

$('input.purchase_price').focus(function () 
var $this = $(this)
t = setInterval(
function () 
    if (($this.val() < 250 || $this.val() > 1000) && $this.val().length != 0) 
        if ($this.val() < 250) 
  $("input.purchase_price_data").val("hello");
        

   
       if ($this.val() > 250) 
 $("input.purchase_price_data").val("hello something else");
       

if ($this.val() > 500) 
 $("input.purchase_price_data").val("hello again");
       

    
, 50)
)

但它完全按照我的需要工作,当我添加第三个 if 时,它完全走错了路。 (我在测试时没有隐藏 purchase_price_data 输入)

谁能帮忙

【问题讨论】:

【参考方案1】:

一种选择是对所有值使用&lt;,使用if-else-if - 那么范围的下限将已经由之前的if 处理。

如果上限为 500,您可以使用 &lt;= 例如val&lt;=500

$('input.purchase_price').on("input", function() 
  var val = $(this).val() * 1;

  if (val <= 0)
    $("input.purchase_price_data").val("please enter a value");
  else if (val < 250) 
    //0-249
    $("input.purchase_price_data").val("cheapskate");
   else if (val < 500) 
    //250-499
    $("input.purchase_price_data").val("about right");
   else 
    //500+
    $("input.purchase_price_data").val("ooh, generous");
  
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="purchase_price" />
<input class="purchase_price_data" />

另一种方法是使用具有范围和响应的数组,这将使其以数据为导向,因此更加灵活。

【讨论】:

这太棒了!谢谢

以上是关于如何检查输入数字是不是在多个数字Jquery之间?的主要内容,如果未能解决你的问题,请参考以下文章

c语言中如何检查输入值是不是为数字

如何在jquery中检查输入类型号是不是为空[重复]

使用jquery如何限制输入框输入数字范围在20到30之间

如何检查数字输入是不是为空?

JavaScript - 如何检查是不是在数字输入字段中输入了字母字符或符号[重复]

jquery检查数字是不是在列表中[重复]