私はこの洗練された jQuery datpickerを少しいじっており、Angular アプリ内で使用できるディレクティブとしてまとめたいと考えていました。ディレクティブのコードは、現時点では非常に単純です。
directive('datePicker', function() {
return {
restrict: 'E',
template: '<input type="text" class="topcoat-text-input--large full" placeholder="Select Date">',
link: function (scope, element, attrs) {
element.pickadate();
}
}
ご覧のとおり、必要なpickadate()
jQuery 呼び出しで要素パラメーターをターゲットにしているだけです。入力をクリックすると、datepicker インターフェイスが提供され、問題なく操作できるため、入力は適切にターゲットにされています。ただし、日付を選択すると、入力要素に情報が入力されません。コントロールから選択された日付が入力の値を設定できるようにする明らかな何かが欠けていますか?
私は少しデバッグを行いました.link関数では、要素パラメータが何らかの方法で実際の入力をラップしているようです(<input>
タグを保持するchildNodes配列プロパティがあるようです)。これが、ピッカーのポップアップを取得しているのに、選択した値が入力の値として設定されていない理由でしょうか?