以下のようにjQueryとformatCurrency拡張機能を使用します。
$(function() {
$(".currency").blur(function(){ formatCurrencyInput(this) });
});
function formatCurrencyInput(input) {
if($(input).val() != '') {
if(isNumeric($(input).val())) {
$(input).formatCurrency(null,{groupDigits:false,roundToDecimalPlace:2,symbol:'£'});
$(input).css('border-color', '');
}
else {
$(input).css('border-color', '#FFCCCC');
}
}
}
「currency」クラスを使用したすべてのテキスト入力は、たとえば45=>£45.00から変換されます。
奇妙なことに、formatCurrencyInput関数がセクションで定義されていれば、正常に機能します。関数を.jsファイルに外部化すると、£45.00が返されます(Â文字に注意してください)。これは文字エンコードの問題だと思いますが、どうすれば修正できますか?