【问题标题】:How to mask a decimal input using Jquery?如何使用 Jquery 屏蔽十进制输入?
【发布时间】:2018-06-25 11:30:07
【问题描述】:

我以前使用 Telerik 的 RadNumericTextBox 来输入小数点,如下所示:

<telerik:RadNumericTextBox ID="txtNewAmt" runat="server" EnableViewState="false"
           Width="100px" CssClass="input" Type="Number" EnabledStyle-HorizontalAlign="Right"
           PlacesBeforeDecimal="11" NumberFormat-DecimalDigits="2">
      <ClientEvents OnKeyPress="validateRegExMaskNumeric" />
</telerik:RadNumericTextBox>

这里,在输入中,

  1. 只允许使用数字。
  2. 数字将从右对齐。
  3. 小数点前的位数可以为 11 或更少,小数点后的位数可以为 2 或更少。

但是,我不想再使用 Telerik。

如何使用Jquery 屏蔽相同的东西?可以用asp:Textbox处理吗?

【问题讨论】:

    标签: jquery asp.net telerik jquery-inputmask


    【解决方案1】:

    我必须在 jQuery Mask PluginMaskInput 插件之间进行选择。 jQuery Mask Plguin 比 MaskInput 体积更大,因为它包含更多功能。但是,出于我的需要,我选择了 MaskInput 插件。

    你可以找到一些例子here和我的经验here

    【讨论】:

      【解决方案2】:

      试试下面这段代码

      文本框:

      jQuery

      $(function () {
      $("input[id*='txtQty']").keydown(function (event) {
      
      
          if (event.shiftKey == true) {
              event.preventDefault();
          }
      
          if ((event.keyCode >= 48 && event.keyCode <= 57) || 
              (event.keyCode >= 96 && event.keyCode <= 105) || 
              event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 ||
              event.keyCode == 39 || event.keyCode == 46 || event.keyCode == 190) {
      
          } else {
              event.preventDefault();
          }
      
          if($(this).val().indexOf('.') !== -1 && event.keyCode == 190)
              event.preventDefault(); 
          //if a decimal has been added, disable the "."-button
      
      });
      

      });​

      【讨论】:

        猜你喜欢
        • 2022-11-29
        • 1970-01-01
        • 2023-03-29
        • 2014-05-24
        • 1970-01-01
        • 1970-01-01
        • 2016-10-19
        • 1970-01-01
        • 2023-03-10
        相关资源
        最近更新 更多