[解決済み] ng-modelを使用したangularのdatepickerディレクティブの作成方法
2022-02-14 17:45:01
質問
jQuery UI datepickerのためにangularディレクティブを作成しました。問題は、日付が選択されたときに、ディレクティブが入力のng-modelを更新しないことです。なぜでしょうか?
http://jsbin.com/ufoqan/1/edit
解決方法は?
AngularJSは、実際に
ngModel
ディレクティブの中で使用することができます。
require: 'ngModel'
をディレクティブの定義に追加してください。
これにより、4つ目のパラメータとして
link
関数で要求されたコントローラです。
require
--この場合、インスタンス
の
ngModelController
. というメソッドを持っています。
$setViewValue
を使用すると、モデルの値を設定することができます。
app.directive('datepicker', function() {
return {
require: 'ngModel',
link: function(scope, el, attr, ngModel) {
$(el).datepicker({
onSelect: function(dateText) {
scope.$apply(function() {
ngModel.$setViewValue(dateText);
});
}
});
}
};
});
の美しいこと。
ngModelController
は、バリデーションと書式設定を自動的に行います (特定の入力の場合
type
のようなものとの統合が可能です。
ngChange
コールバック; チェックアウト
この例
:
http://jsbin.com/ufoqan/6/edit
関連
-
[解決済み】JavaScriptで「無効な日付」のDateインスタンスを検出する
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] GUID / UUIDの作成方法
-
[解決済み] event.preventDefault() vs. return false
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] .prop() vs .attr()
-
[解決済み] JSONPとは何か、なぜ作られたのか?
-
[解決済み] ngModel' は 'input' の既知のプロパティではないため、バインドできません。
-
[解決済み】AngularJSのディレクティブスコープにおける「@」と「=」の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 Uncaught TypeError: data.push is not a function
-
[解決済み】TypeError: $(...).DataTable は関数ではありません。
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み] React with ES7: Uncaught TypeError: Cannot read property 'state' of undefined [duplicate] (未定義のプロパティ'state'を読み込むことはできません。
-
[解決済み】未定義のプロパティ 'bind' を読み込めない。React.js【重複あり
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み】エラー:リスン EACCES 0.0.0.0:80 OSx Node.js
-
[解決済み] ローカルファイルを開くことができません - Chrome: ローカルリソースのロードが許可されていません
-
[解決済み】このオブジェクトの "forEach "はなぜ関数でないのですか?
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。