我一直在尝试使用Jquery格式化区域(区域设置)特定数字,日期等。互联网上的不同教程也出现了同样的问题。代码如下:
<script type="text/javascript" >
$.preferCulture("de-DE"); //The method that causes culture specific formatting mainly
var price = $.format("3899.359","c");
$("#price").html(price);
var available = $.format(new Date(2011,12,23),"D");
$("#available").html(available);
</script>
http://weblogs.asp.net/scottgu/archive/2010/06/10/jquery-globalization-plugin-from-microsoft.aspx
我已经下载了最新版本的Jquery,但我找不到$.preferCulture()
方法。如果我执行此代码,则会收到错误,指出此方法不受支持。
我正在为Jquery使用Globalize插件来获得更多的国际化,但即使在这种情况下,Globalize.culture()
确实存在但不起作用。比如说我执行以下代码:
<script type="text/javascript">
jQuery(document).ready(function()
{
$("#btn1").click(function()
{
Globalize.culture("fr");
var num = Globalize.format(123456.456789,"n3");
//Globalize.culture("de-DE");
//var num = Globalize.formatNumber("123456.456789","c");
alert(num);
alert(Globalize.culture().name);
});
});
</script>
这会显示一个带有“en”值而不是“fr”的警报,并且数字也会以“en”语言环境格式化。在使用globalize.js插件时,我还包含了globalize.cultures.js但是徒劳无功。
答案 0 :(得分:1)
我最近遇到了类似的问题,结果与我如何包含文化文件有关。
确保用以下方法实际导入适当的文化:
<script type="text/javascript" src="lib/culture.fr.js"></script>
<script type="text/javascript" src="lib/culture.de-DE.js"></script>
或
<script type="text/javascript" src="lib/cultures.js"></script>
请记住,您要导入的文化非常重要,例如,当您想要根据fr-FR格式化值时,您应该导入culture.fr-FR.js,因为它确实使差异。
我还必须指出,对于格式化,您应该始终包含国家/地区信息,因为格式往往因国家/地区而异(即使是相同的语言)。
顺便说一句。在当前版本中,您还需要使用精确的文化来翻译内容(通过localize()
)。真可惜(但我会用修复程序创建一个拉动请求,敬请关注)。