2016-06-27 8 views
1

Jquery Datepickerからの変更時にモデルを更新するにはどうすればよいですか? <input>を手動で入力するとモデルが更新されますが、モデルはJquery Datepickerポップアップから選択しても更新されません。 <input>の値は選択した日付で更新されますが、モデルは変更されません。モデルをディメンションから角度2で更新するにはどうすればよいですか?

タイムアウトでdatepicker()をラップしようとしましたが、どちらも動作しません。モデルに指令の変更を認識させるにはどうすればよいですか?コンポーネントテンプレートの

入力:

<input type="text" class="datepicker" [(ngModel)]="foreigndate" datepicker> 

指令:

@Directive({ 
    selector: '[datepicker]' 
}) 
export class DatePickerDirective { 
    constructor(el: ElementRef) { 
    $(el.nativeElement).datepicker(); 
    } 
} 

答えて

0

[(ngModel)]アップデートforeigndateinputは、日付ピッカーが値を更新する場合ではないと思われる解雇されたとき。

http://api.jqueryui.com/datepicker/は、値が変更されたときに発生したイベントに関する情報は提供しません。それはあなたがchangeイベントを聴くこの回避策

<input type="text" class="datepicker" [(ngModel)]="foreigndate" datepicker (someEvent)="foreigndate=$event.target.value"> 

を使用することができます場合は

この方法は試してみる価値があるかもしれません。

それ以外の場合、これは動作します@ViewChild

<input #datepicker type="text" class="datepicker" [(ngModel)]="foreigndate" datepicker> 
@ViewChild('datepicker') datePicker:ElementRef; 

ngDoCheck() { 
    this.foreigndate = this.datePicker.nativeElement.value; 
} 
+1

を動作するはずです。ありがとう! –

+0

@Gunterサンプルコードを入力してください。それは私たちを助けるだろう。 – Karthik

+0

あなたは、あなたがどこにいるのかを示すPlunkerをどうやって提供しますか? ;-) –

関連する問題