2010-12-10 20 views
4

私はjQuery UI datepickerを持っています。返された日付をローカライズしてフォーマットし、それをフォーマットして 先行ゼロを削除します。jQuery UI datepicker - ローカライズされた日付をフォーマットできますか?

私はどちらか一方をすることができるようです。ローカライズとフォーマットを行う方法はありますか?

私のコード例:上記の例では

// myDate = 01/25/2010 
// myLanguage = ""; //for US english, but could be any language 

$('#mytxtbox').datepicker($.datepicker.regional['<%= mylanguage %>']); 
$('#mytxtbox').datepicker({ dateFormat: 'm/d/yy' }); 

var dateToSet = $.datepicker.parseDate('m/d/yy', '<%= myDate %>');  
$('#mytxtbox').datepicker("setDate", dateToSet); 

私のテキストボックスに表示されます日付が「2010年1月25日」です。 リージョンを設定する行をコメントにすると、フォーマットが有効になります(つまり、2010年1月25日)。 ローカリゼーションが私の "dateFormat"を上書きしているようです。両方を行うことは可能ですか?

答えて

0

setDateは地域独立しており、パラメータとしてDateオブジェクトを受け取り、私はすべての適切な領域のファイルが含まれている、注意してください。

日付ピッカーの現在の日付を設定します。新しい日付は、現在の日付形式(たとえば'01/26/2009 ')、今日からの日数(たとえば+7)、値と期間の文字列(' y ')のDateオブジェクトまたは文字列です。月は「m」、週は「w」、日は「d」、たとえば「+ 1m + 7d」など)、選択した日付をクリアするにはnullを指定します。

0

これは、私はあなたが既に唯一の選択肢としてローカライズして日付ピッカーを初期化しているためであると考えているあなたの質問 JQuery datepicker language

+0

このトピックでは、欠落している言語ファイルについて説明しています(jquery-ui-datepicker- [languageCode] .js)。 OPはこれがそうでないと述べています –

0

のように聞こえます。リージョンを動的にしたくない場合や、datepickerの初期状態を設定したい場合は、両方のオプションを1つに渡してみてくださいoptions object

$("#mytxtbox") 
    .datepicker({ 
    dateFormat: 'm/d/yy', 
    $.datepicker.regional['<%= mylanguage %>'] 
    }); 

ORあなたはjQueryのUI exampleに似た何かをダイナミックになりたい場合。

最初に日付をフォーマットしてから、地域オプションを設定してください。

//original initialization 
$("#mytxtbox").datepicker({dateFormat: 'm/d/yy'}); 
//then set localize the date based on a change function 
$("ul.region").change({ 
$("mytxtbox").datepicker('option', $.datepicker.regional[$(this).val()]); 
}); 
+0

最初のオプションは構文が無効です。 2番目はフォーマットを考慮しません –

1

同じ問題が発生しました。私の解決策:(地域設定は、配列であり、単にいくつかの値を追加します)

var defaults = $.datepicker.regional['<%= mylanguage %>']; 
defaults['dateFormat'] = 'm/d/yy'; 
$("#mytxtbox").datepicker(defaults); 
0

あなたがすべて1で、このようにそれ、地域beforeShowまたはそれのような他の機能を可能性が行っている場合:

$("#mytxtbox").datepicker({dateFormat: 'dd-mm-y'}, 
    $.datepicker.regional[ "ar" ], 
      { 
       beforeShow: function(input, inst) { 
        var widget = $(inst).datepicker('widget'); 
        widget.css('margin-left', $(input).outerWidth() - widget.outerWidth()); 
       } 
      }); 
0

私はいくつかのGoogleの調査を行ったので、私は私の解決策を投稿します。 私のような、あなたが日付ピッカーのための入力タイプを持っていると思います:あなたはあなたの訪問者に応じてロケール言語とさらにtraitmentのための事前に定義された日付形式を設定したい場合は、次のようにあなたの日付ピッカーを開始することができ

<input id="date" type="text" name="date"> 

 $(function() { 
      $('#date').datepicker(); 
    $('#date').datepicker("option",$.datepicker.regional["<<your_variable_locale>>"]); 
    $('#date').datepicker("option","dateFormat","dd/mm/yy"); 
}); 

英語のデフォルトの形式、つまりmm/dd/yyが変更されます。

地域や日付の形式などのオプションを組み合わせる方法についてのドキュメントはあまり明確ではありませんが、Firefoxでは私にとってはうまくいきます。