2011-10-10 9 views
1

JqueryMobileの最新ビルドを持つページにDateBox(http://dev.jtsage.com/jQM-DateBox/)プラグインを使用していますが、奇妙なバグが見つかりました。 私のアプリケーションをindex.htmlで開き、ページを日付ピッカーでナビゲートすると、これが表示されます - http://cl.ly/19022K40472e3k0D0D2HJquery Mobile DateBoxプラグインは、ページに直接リンクされている場合のみ動作します

ただし、アドレスバーから直接ページに移動しても問題なく表示されますそれはすべきだ。

だから、これに問題がある人は誰ですか?またはそれを修正する方法を任意のアイデア?

また、テキストフィールドに現在の日付の表示方法を知っている人もいますか?

ありがとうございました。

答えて

0

1)dateboxのCSSが正しく読み込まれていないという問題があるようです.inddboxのCSSをindex.htmlに読み込んでいますか?その場合、datepickerで直接ページに行くと、 CSSがロードされていない可能性があります.Firefoxの場合はfirebug、Chrome/Safariのビルド済みの開発ツールでは、datebox cssが読み込まれているかどうかを確認することができます(読み込まれたすべてのリソースを確認するには、リソースタブを確認してください)

2)これをチェックしてください例 - http://jsfiddle.net/BNsPB/。この例では、私はあなたの実際のコードをチェックした後、あなたがpageinitまたはpagecreateイベントハンドラ

でそれを記述する必要がありますあなたの場合には、文書準備にコードを書いた私は、あなたがpageshowイベントハンドラで上記のコードスニペットを追加する必要がありますと思いますこのように:(bookingPageがページのIDであると仮定)

$("#bookingPage").live('pageshow',function(event, ui){ 
    var today = new Date(); 
    var todayStr = today.getFullYear()+"-"+(today.getMonth()+1)+"-"+today.getDate(); 
    $('#mydate').trigger('datebox', {'method':'set', 'value':todayStr}); 
    }); 
}); 
+0

それはそうだろう!ヘッダーのコードを取り出して、他のページを少しきれいにしました。なぜなら、私がそれを使用していなければ、そこにそれを持つ必要はないと思ったからです。ありがとう! –

+0

私は、日付を表示するためにそのコードスニピットを試してもらえませんでしたが、試してみました。それはテキストフィールドに日付を表​​示しますが、フォーマットを間違ったフォーマットyyyy-mm-ddに変更する前に、dd-mm-yyyyとしていました。もう1つは設定されているカレンダーを呼び出すときです1918年には逸脱によって。そのスクリプトを削除すると、すべて正常に戻ります。その理由は何ですか? –

+0

それは私がそれを修正したすべての良い:)ちょうどこの行を変更し、それは日付の形式を固定し、またそれは1918年を示して停止しました。 var todayStr = today.getDate()+ " - " +(today.getMonth()+ 1)+ " - " + today.getFullYear(); –

0

あなたはあなたのサイトが最初のインスタンス(おそらくindex.html)にまで移動し、実際のファイル内のファイルをロードする必要があります。日付ピッカーページでCSSとプラグインコードを参照したように聞こえますが、デフォルトモードでは、jQMはajaxハッシュベースのナビゲーションシステムを使用しているため、getから直接利用できるようにアセットを参照する必要があります-go。

+0

ありがとうベン!すべてソートされました:) –