首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许在ShieldUI NumericTextBox中输入欧洲格式

允许在ShieldUI NumericTextBox中输入欧洲格式
EN

Stack Overflow用户
提问于 2016-09-19 18:50:16
回答 1查看 181关注 0票数 1

默认情况下,ShieldNumericTextBox不允许键入逗号并自动将输入的数字格式化为美国格式(例如,在键入10000之后,它将是10,000)。

我想要将默认格式更改为欧洲格式,我在文本框的初始位置找到了(textTemplate)选项,但它不适用于格式化输入,它对于在数字旁边添加文本(例如KG,EUR...etc)很有用。

代码语言:javascript
复制
$("#numericTextBox").shieldNumericTextBox({
    textTemplate: "{0:##,##}", // The numbers in my case are percentages with 2 digits after decimal.
    min: 0,
    max: 1,
    step: 0.01,
    spinners: true
});

当用户完成键入并将焦点移出文本框时,此textTemplate将输出相同的字符串("{0:##,##}")。

而且它不会在输入时格式化,只有当你完成输入并移走输入的焦点时才会格式化,所以它不会有太大帮助。有什么帮助吗?

EN

回答 1

Stack Overflow用户

发布于 2016-09-20 20:08:26

ShieldUI使用Globalize JS来处理特定于文化的值格式。

在您的情况下,应首先将区域性设置为用逗号而不是句点分隔数字的整数位和小数位的区域性。然后,您可以设置textTemplate的格式,将其显示为具有两个十进制数的数字值,如下所示:

代码语言:javascript
复制
<!-- include the globalize culture -->
<script src="globalize.culture.de.js" type="text/javascript">//</script>

<script type="text/javascript">
$(document).ready(function () {
    // set a German Globalize culture
    Globalize.culture("de");

    $("#numericTextBox").shieldNumericTextBox({
        textTemplate: "{0:n2}", // display as numeric having 2 decimal fields
        min: 0,
        max: 1,
        step: 0.01,
        spinners: true
    });

});
</script>

处理显示的文本的另一种方法是为textTemplate的值提供如下所示的函数:

代码语言:javascript
复制
textTemplate: function(value) { return "_custom_formatted_string_"; }

它将用逗号替换所有句点。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39571340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档