【问题标题】:Input numbers only in jquery仅在 jquery 中输入数字
【发布时间】:2014-11-19 04:12:02
【问题描述】:

我有点问题。仅当输入中输入的字符为 NUMBERS 时,我才尝试执行我的内容。

这是目前的代码。

  $(".jq-sales, .jq-variablecosts, .jq-fixedcosts, .jq-additional-sales, .jq-sales-units, .jq-variablecosts-units, .jq-totalsold-units").keypress(function(event) {
      if (event.keyCode >= 48 && event.keyCode <= 57 && event.keyCode >= 96 && event.keyCode <= 105) {
        event.preventDefault();
      } 
      else {
        // DO my stuff
      }       
    });

我的代码有什么问题?

我希望能够检测何时从数字键盘按下它们以及键盘顶部的数字..

【问题讨论】:

  • I am having a bit of an issue. 有什么问题?

标签: javascript jquery html css numbers


【解决方案1】:

你的条件是不可能的

  if (event.keyCode >= 48 && event.keyCode <= 57 && event.keyCode >= 96 && event.keyCode <= 105) {

一个数字不能同时介于 48 和 57 之间,也不能介于 96 和 105 之间

  if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105)) {

使用或(|| 事物)

另外,如果你想在满足上述条件时做“你的事”,那么你应该在条件为真时做事,而不是在条件不为真时。

  if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105)) {
      // do stuff here
  } else {
      // do nothing
      event.preventDefault();
  }

【讨论】:

  • 是的,这很好,唯一的问题是它仍然允许字母通过......我怎样才能避免这种情况?
  • 已编辑 - 将“event.preventDefault()”放在“什么都不做”部分
【解决方案2】:

你的条件逻辑永远不会通过。例如,您要求 keyCode 为 = 96。

此外,一旦解决了这个问题,您将阻止数字击键并在非数字上执行代码。

因此,您需要编写以下内容:

    $(".jq-sales, .jq-variablecosts, .jq-fixedcosts, .jq-additional-sales, .jq-sales-units, .jq-variablecosts-units, .jq-totalsold-units").keypress(function(event) {
                if (
                        ( event.keyCode >= 48 && event.keyCode <= 57 ) ||
                        ( event.keyCode >= 96 && event.keyCode <= 105 )
                    )
                {
                    // DO my stuff
                } 
                else {
                    // Ignore non-numeric input
                    event.preventDefault();
                }       
            });

【讨论】:

    猜你喜欢
    • 2012-06-07
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    相关资源
    最近更新 更多