2012-08-13 8 views
6

私はむしろファイルのバージョンよりもむしろBootstrapのMeteorパッケージの実装を使用したいと思いますが、私はdatepickerを動作させるのに大変時間がかかります。Meteorで動作するように、どのようにしてtwitter bootstrap datepickerを入手できますか?

さまざまな状態の3つのバージョンがあり、最後のバージョンはAymkdnによってコンパイルされています。 Aymkdnによって

http://www.eyecon.ro/bootstrap-datepicker/

https://github.com/eternicode/bootstrap-datepicker/

https://github.com/Aymkdn/Datepicker-for-Bootstrap

バージョンは、プレーンバニラHTMLで正常に動作しますが、流星から提供し、私はhelluva時間理由を考え出すを持っていません。

メテオでAymkdnを使用したいのですが、動作させることができません。 Meteorのjs読み込み順序またはDOMレンダリングのいずれかと関係していると思います。どのように私はこれを動作させることができますか?

おかげ Steeve

+0

bootstrap-datepickerは、Meteorのスマートパッケージになりました。ちょうど 'meteor add bootstrap-datepicker' – Prashant

+0

ここにはhttp://docs.meteor.com/#packagesは載っていません。あなたはおそらくそれがmrtのパッケージであることを意味しますか? –

+0

「流星リスト」を試してみてください。あなたはそこにいるのですか? – Prashant

答えて

15

おそらくこのアプローチはこの質問が最初に投稿されたときには利用できませんでしたが、テンプレートがレンダリングされるときにdatepickerを初期化しています。ここで

Template.templateName.rendered = function() { 
    $('#datepicker').datepicker(); 
} 

は、イベントへのリンクです:この方法でhttp://docs.meteor.com/#template_rendered

、私はセッションのプロパティを維持するか、フォーカスイベントを処理していません。テンプレートがアンロードされ、セッションプロパティがトリガーされてから戻ってきたとき、Prashantのソリューションは私のためには機能しませんでした。私はまた、データピッカーが最初に焦点を当てたときに表示されないという問題もありました。

はい、テンプレートがレンダリングされるたびにデータピッカーが初期化されますが、間違いなくテンプレートリソースがクリーンアップされているので、大丈夫です。

2

日付ピッカーを動作させるために、これは私はあなたが使用していることを、$(document).ready()アプローチを推測しています、私が何をしたか

// At the beginning of the script 
Session.set("datepicker_unset", 1); 

Template.template_name.events = { 
    'focus #date-id' : function(event) { 
     if (Session.get("datepicker_unset")) { 
      $(event.target).datepicker(); 
      Session.set("datepicker_unset", 0); 
     } 
     // Anything else on #date-id focus? 
    }, 
    // Any other events here 
} 

です。私はあまりにも、私のために働かなかったので、私はこれが最良の解決策であると考えました。

これはあなたにも役立ちます。

+0

私はそれをパッケージとして行う必要がありますか?それとも/クライアントに入ることができますか? –

+0

はい、/ clientに追加すると作業が開始されます。私はそれに応じて答えを編集しました。 – Prashant

+1

おそらくは.datepicker()を一度だけ呼び出す必要があります。これは、フォーカスイベントが発生するたびに呼び出されます。これにより、毎回日付ピッカーが設定されます。 – peter

関連する問題