46

jQueryUIを使用して国際化に取り組んでいます。フランス語で正しく機能するフォームに DatePicker コントロールがあります。

たとえば 2012 年 8 月 15 日などの日付を選択すると、予想どおり、DatePicker には 2012 年 8 月 15 日が表示されます。ただし、私の問題は、フォームが投稿されると、DatePicker の値が「2012 年 8 月 15 日」として投稿され、適切に保存する前にサーバーで翻訳する必要があることです。

私の質問は、コントロールが表示されている言語に関係なく、常に一貫した形式でサーバーに投稿できるように、jQueryUI DatePicker 内に組み込みの方法がありますか? 組み込みの方法がない場合、これを実現するためのオプションは何ですか?

テキスト表現を使用する代わりに、dateformat を 08/15/2012 のようなものに変更できることはわかっていますが、これは私がやりたいことではありません。

4

7 に答える 7

51

そのための 2 つの構成オプションがあります: altField と altFormat です。http://api.jqueryui.com/datepicker/#option-altField altField を指定すると、そのフィールドも更新され、altFormat が設定されます。通常、altField を隠しフィールドにする必要があるため、通常のフィールドを無視して、altField を db に送信できます。

于 2012-12-19T18:04:34.030 に答える
0
<input type="text" name='fieldName' id="datepicker" value="" style="width: 100px;" />
<script type="text/javascript">
    $( "#datepicker" ).datepicker( "option", "dateFormat", 'dd/mm/yy' );
    $( "#datepicker" ).datepicker();
</script>
于 2012-07-17T12:50:28.387 に答える
0

基本的に、日付を再フォーマットしないでください。代わりに、 getDate()メソッドを使用して、Datepicker から JavaScript の Date オブジェクトを読み取る必要があります。次に、それをサーバーに渡す必要があります。
問題は方法です。基本的に、必要なのは一般的な形式です。JSON を使用する場合、答えは非常に簡単です。日付オブジェクトを配置するだけで、JSON の stringify() 関数が自動的にISO8601にフォーマットします。

ウィキペディアからわかるように、ISO8601 は日付と時刻を確実に交換するように設計されているため、これを使用する必要があります。最新の Web ブラウザーが Date オブジェクトのメソッド
をサポートしていることを知っておくと役立つ場合があります。toISOString()

于 2012-07-19T13:39:53.577 に答える
0

あなたの質問の前に、他の誰かがこの質問または同様の質問をしたようです。

このstackoverflow answerを読んだ場合、作成者は日付をある形式で表示し、データを別の形式でMySQLに渡そうとしていました。

そのリンクの前の回答では、選択した値に変数としてアクセスするように設定できます。あとは、選択した日付変数に parseDate を接続するだけです。

<script type="text/javascript">
    $('#cal').datepicker({
             dateFormat: 'dd M yy',
             onSelect: function(dateText, inst) { 
             var dateAsString = dateText; //the first parameter of this function
             var newDateFormat = $.datepicker.parseDate('dd-mm-yyyy', dateAsString);
           }
    });
</script>

設定とフォーマットについては、 parseDateリンクを確認してください。

お役に立てれば!

于 2012-07-17T13:00:20.813 に答える