2013-07-21 20 views
5

私はAngularJS TimePicker(ui.bootstrap.timepicker)を使用しています。タイムピッカーが変更されたときにイベントを開始したいと思います。私はng-change属性を探しましたが、属性を見つけませんでした。anglejs timepicker ng-change

私の目的は、時間が変更されたときにモデルに加えられた変更を保存したいということです。今はモデルを設定するのにng-modelを使用しましたが、コントローラに通知して保存を実行できるようにする方法はわかりません(モデルはローカルストレージにシリアライズされています)。可能であれば、「保存」ボタンの使用を避けたいと思います。

関連するノートでは、ui.bootstrap.datepickerでも同じことをしたいと思います。

答えて

10

$ scope。$ watchを使用すると、timepicker(またはdatepicker)の変更をリッスンし、コントローラで必要なものを呼び出すことができます。ブートストラップの例に基づいていますが、時間が変更されたときはいつでも警告が表示されるplunkerです。 datepickerにも同様のロジックを適用できるはずです。

+0

rajasaurありがとう、これはうまくいくでしょう。 –

+2

良いと簡単な解決策。最も重要な点は、これは 'datepicker'と' timepicker'の間で同じ 'Date'オブジェクトを共有しても動作します。ただし、初期化ルーチンが100%正しく設定されていないと、問題が発生します。時間が設定されていない限り、タイムピッカー(またはその親)を作成しないようにしてください。さもなければ、あなたの最初の時間は常に現在の時間で上書きされます。あなたは 'ng-if'を使ってこれを行うことができます:' ' – Domi

+0

Domi、私は幾分似た問題に直面しています。私はコメントであなたの解決策を理解していないとして何を設定する。同じ質問を投稿しました:http://stackoverflow.com/questions/29148040/angularjs-xeditable-plugin-bstime-weird-behaviour – Jayesh