0

モバイルアプリケーションの日付制御に以下のjqueryモバイル日付ボックスプラグインを使用しています。デフォルトの日付形式で正常に動作しています。ただし、携帯電話でもデスクトップでも、現在の文化設定に基づいて日付形式を適用したいと思います。デバイスの日付形式に基づいて、日付は日付コントロールに入力する必要があります。

<link rel="stylesheet" type="text/css" href="http://dev.jtsage.com/cdn/datebox/latest/jqm-datebox.min.css" />
 <script type="text/javascript" src="http://dev.jtsage.com/cdn/datebox/latest/jqm-datebox.core.min.js"></script>
    <script type="text/javascript" src="http://dev.jtsage.com/cdn/datebox/latest/jqm-datebox.mode.calbox.min.js"></script>

私は以下のアプローチで試しました。

jQuery.extend(jQuery.mobile.datebox.prototype.options.lang.default, { 'dateFormat': dformat , }); 

ただし、以下の2つの制限があるため、このアプローチを使用できません。
1)iPhone 3/4(safari 3.1.1以下)ではサポートされていません
。2)ウィンドウ形式と互換性のない日付形式(%d-%m-%yなどの形式を使用)。

このプラグインを利用したいのですが、カルチャベースの日付形式の選択を提供する必要があります。
あなたの提案を提供し、疑問がある場合は私に知らせてください。

4

1 に答える 1

1

私があなたの質問を本当に理解したかどうかはわかりませんが、通常は「オーバーライド」オプションを使用してユーザー文化を直接注入することができます。私のコードの1つで、ユーザーカルチャを検出したら、次のようなスクリプトを使用して作業を行います(ヘッダーのタイトル、日付フィールドの順序、および日付形式をhtisの方法で更新します)。

このコードでは、「sDateFormat」はユーザー文化に従って正しいパターンを設定します。そして、「currentdatefield」は私のウェブフォームの日付フィールドのjquery変数です:

currentdatefield.data("options", {
                    mode: "datebox",
                    useLang: varuserLocale,
                    useFocus: true,
                    useClearButton: true,
                    useCollapsedBut: true,
                    defaultValue: sDateForDefValue, /* defaultValue : this value must be a string formated in "yyyy-mm-dd" (not a JS object date) */
                    'overrideDateFieldOrder': DateFieldOrder,
                    'overrideHeaderFormat': vardateformat,
                    'overrideDateFormat': sDateFormat   /* Example: "%m/%d/%Y" This date format pattern is directly injected in the field linked */
                });
            });

確かではありませんが、おそらくそれはあなたを助けます。

于 2012-11-05T11:30:02.387 に答える