Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 允许在ShieldUI NumericTextBox中输入欧洲格式_Javascript_Jquery_Number Formatting_Shieldui - Fatal编程技术网

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

Javascript 允许在ShieldUI NumericTextBox中输入欧洲格式,javascript,jquery,number-formatting,shieldui,Javascript,Jquery,Number Formatting,Shieldui,默认情况下,ShieldNumericTextBox不允许键入逗号并自动将输入的数字格式化为美式格式(例如,键入10000后,数字将为10000) 我想将默认格式更改为欧洲格式,我在文本框启动时找到了(textTemplate)选项,但它不适用于我格式化输入,它有助于在数字旁边添加文本(例如KG、EUR…等) 当用户完成键入并聚焦文本框时,此文本模板将输出相同的字符串(“{0:###,##}”) 而且它在输入时也不会格式化,只有当你完成并将焦点从输入中移除时才会格式化,所以不会有多大帮助。有什么

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

我想将默认格式更改为欧洲格式,我在文本框启动时找到了(textTemplate)选项,但它不适用于我格式化输入,它有助于在数字旁边添加文本(例如KG、EUR…等)

当用户完成键入并聚焦文本框时,此文本模板将输出相同的字符串(“{0:###,##}”)


而且它在输入时也不会格式化,只有当你完成并将焦点从输入中移除时才会格式化,所以不会有多大帮助。有什么帮助吗?

ShieldUI使用Globalize JS处理特定于区域性的值格式

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

<!-- 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>

这将用逗号替换所有句号。

我不知道为什么,但全球化。文化(“de”);一点也不起作用,所有的区域性参数都保留为英语格式,虽然我特别反转了numberFormat对象中的(.),(,),它将数字从美国转换为欧洲,但字段本身不接受用户的逗号,我希望用户输入欧洲格式,而不是转换我们输入的内容。谢谢。更新。设置区域性工作,我以前包含了一个错误的文件,但现在它工作并更改了,但它没有做好工作,首先,逗号仍然不允许,你可以输入美国数字,它将被格式化,这是无用的,其次,微调器不工作,它们从100,00摆动到99,99。有什么帮助吗?
<!-- 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: function(value) { return "_custom_formatted_string_"; }