jQuery でスピナー ウィジェットを使用してグローバライズしようとしています。私のコードインクルードは次のように並べられています:
<script type='text/javascript' src='/js/jquery-2.0.3.min.js'></script>
<script type='text/javascript' src='/js/jquery-migrate-1.2.1.min.js'></script>
<script type='text/javascript' src='/css/jquery/jquery-ui.js'></script>
<script type='text/javascript' src="/resources/js/cldr.js"></script>
<script type='text/javascript' src="/resources/js/cldr/event.js"></script>
<script type='text/javascript' src="/resources/js/cldr/supplemental.js></script>
<script type='text/javascript' src="/resources/js/globalize.js"></script>
<script type='text/javascript' src="/resources/js/globalize/message.js"></script>
<script type='text/javascript' src="/resources/js/globalize/number.js"></script>
<script type='text/javascript' src="/resources/js/globalize/plural.js"></script>
<script type='text/javascript' src="/resources/js/globalize/date.js"></script>
<script type='text/javascript' src="/resources/js/globalize/currency.js"></script>
<script type='text/javascript' src='js/index.js'></script>
ドキュメントが言うようにcldrのものをロードしようとしました。その後、各スピナーコンテナを調べて、入力名に基づいてスピナーウィジェットを適用します:
$.when(
$.get( "/resources/js/cldr/main/en/numbers.json" ),
$.get( "/resources/js/cldr/main/en/currencies.json" ),
$.get( "/resources/js/cldr/supplemental/likelySubtags.json" ),
$.get( "/resources/js/cldr/supplemental/numberingSystems.json" ),
$.get( "/resources/js/cldr/supplemental/ordinals.json" ),
$.get( "/resources/js/cldr/supplemental/plurals.json" )
).then(function() {
// Normalize $.get results, we only need the JSON, not the request statuses.
return [].slice.apply( arguments, [ 0 ] ).map(function( result ) {
return result[ 0 ];
});
}).then( Globalize.load ).then(function() {
/**
Add a spinner to each spinner class
*/
$(".spinner").each(function () {
var $S = $(this).children("input");
var name = $(this).attr("name");
switch (name) {
case "one-count":
$S.spinner({
min: 0,
step: 1,
start: 0
});
break;
case "currency-1k-count":
$S.spinner({
min: 0,
step: 1000,
start: 0,
numberFormat: "C"
});
break;
}
});
});
スピナー ウィジェットのプロパティ セクションに numberFormat を含めて、ページ上のスピナーをクリックすると、次のエラーがスローされます。
Uncaught TypeError: Globalize.format is not a function jquery-ui.js(line:12778)
jquery-ui.js ファイルの 12778 行に移動すると、Globalize.format が呼び出されていることがわかります。だから私は Globalize.js ファイルに行き、format と呼ばれる関数はありません...何が得られますか?