2

日付ボックスコントロールを使用して入力の日付をプログラムで設定したいのですが、このために私はこのようなものを使用できることを知っています

$(element).trigger('datebox', {'method':'set', 'value':'dateString'});

しかし、これはコントロールを更新していないようです(つまり、カレンダーを開くと、現在の日付に設定され、入力フィールドの値と等しくありません)

編集: JTsage のポインターに基づいて、このような sth を使用して、デフォルトの日付形式を mm/dd/yyyy に上書きしました。

jQuery.extend(jQuery.mobile.datebox.prototype.options.lang, {
    'en': {
        dateFormat: '%m/%d/%Y'

    }
});
jQuery.extend(jQuery.mobile.datebox.prototype.options, {
    useLang: 'en'
});

次に、このようにsthを使用して日付を設定してみました

$(element).trigger('datebox', {'method':'set', value:'07/02/2012'});

しかし、この日付は、ページに移動すると表示されません..興味深いことに、firebug コンソール (そのページにある) から日付を更新しようとすると、フィールドと日付ボックス コントロールが更新されました。

なぜこれが起こっているのかわかりません..助けが必要です.JTに応答してください.

4

2 に答える 2

7

最後に、これを行うことで問題を修正しました

jQuery.extend(jQuery.mobile.datebox.prototype.options, {
    'overrideDateFormat': '%m-%d-%Y',
    'overrideHeaderFormat': '%m-%d-%Y'
});

入力フィールドの値を明示的に設定する

$(element).val('06-21-2012');

そして、日付ボックスを更新します

$(element).trigger('datebox', {'method':'set', 'value':'06-21-2012'});
于 2012-07-02T08:24:50.720 に答える
0

私は解決策を見つけました、これを試してください

 $(element).trigger('datebox', { 'method': 'doset' });
于 2013-09-11T06:47:01.370 に答える