【问题标题】:Telerik MVC CurrencyTextBox - Custom value formattingTelerik MVC CurrencyTextBox - 自定义值格式
【发布时间】:2011-12-29 23:44:48
【问题描述】:

(首先,我已经在 Telerik 论坛 (link) 上发布了这个,但是这个网站获得了更多的流量,所以我希望能尽快得到一些帮助。)

我正在尝试使用 CurrencyTextBox 实现一些自定义值格式设置,但是控件处理值的方式让事情变得非常困难。

我想要做的是:如果用户输入的值不包含“。”字符,它将将该值格式化为美分而不是美元。因此,如果用户输入“16”,我希望控件显示(并包含值)$0.16。如果用户输入带有“.”的值,我希望控件正常运行。如果用户输入“16.”、“16.0”或“16.00”,我希望控件显示(并包含一个值)“$16.00”。此应用程序将供零售业人员使用,这就是他们期望输入价格值的方式。

但是,无论我订阅 OnChange 事件还是文本框本身上的“blur”事件,它都在剥离“。”如果后面没有任何内容或后面只有 0,则为字符。示例:如果我输入值“16.”、“16.0”或“16.00”,则从 javascript 文本框中提取的值将是“16”。而且因为我必须检查“。”的存在。字符,这打破了我正确格式化值的逻辑。

所以我正在寻找一些帮助或建议。这是我现在可以根据需要正确格式化值的 javascript。如您所见,如果值不包含“。”字符,该值除以100,这正是我想要的。剥离这个角色正在扼杀我的逻辑。 :)

$('custom-price').find('input').live('blur', function (e) {
    var sender = $(this).data('tTextBox');
    var priceVal = $(this).val(); // $(this).attr('value') also returns the value with the character stripped, FYI
    if (priceVal.indexOf(".") == -1) {
        priceVal = priceVal / 100;
    }
    sender.value(priceVal);
});

【问题讨论】:

    标签: telerik telerik-mvc


    【解决方案1】:

    尝试对“.”使用 ascii 代码。运营商 (46)。 OnKeyPress 如果您发现 ascii 代码 46 更改控制格式..

    问候, 达瓦尔舒克拉

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-12
      • 1970-01-01
      • 2012-06-17
      • 2012-07-10
      • 2017-10-30
      • 2012-06-25
      • 1970-01-01
      • 2011-10-10
      相关资源
      最近更新 更多