2016-10-25 2 views
0

2 가지 구성 요소가있는 간단한보기 aurelia-date-picker aurelia-date-picker github 첫 번째 날짜에서 날짜를 선택하면 두 번째 달력에서 선택한 날짜 이전에 날짜를 원하지 않습니다. 선택해야합니다. 내 HTML : 다른 날짜에 따라 시작일 변경

<template> 
<require from="bootstrap/css/bootstrap.css"></require> 
<form> 
    Date début: <bootstrap-datepicker dp-options.bind="dpOptions1" changedate.delegate="setDateDebut($event)"></bootstrap-datepicker> 
    Date de fin: <bootstrap-datepicker id="datefin" dp-options.bind="dpOptions2" changedate.delegate="setDateFin($event)">  </bootstrap-datepicker> 
</form> 
</div 
</template> 

내 뷰 - 모델 : 확인을 위해

export class ChoixDateDebutDateFin { 
    constructor(cd, abdp){ 
    this.dpOptions1={ 
    format:"dd/mm/yyyy", 
    autoclose:true, 
    calendarWeeks:true, 
    language:"fr-FR", 
    todayHighlight:true, 
    weekStart:1 
} 
this.dpOptions2={ 
    format:"dd/mm/yyyy", 
    autoclose:true, 
    calendarWeeks:true, 
    language:"fr-FR", 
    todayHighlight:true, 
    weekStart:1 
} 
setDateDebut(e){ 
    var d=e.detail.event.date; 
    console.log("d ?"+d); 
//Here ! I want to change dynamically the property stratdate :(
    this.dpOptions2.startDate=d; 
} 
setDateFin(event){ 
    this.fin=event.detail.date; 
} 
} 

, 구성 요소가 시작시로드되어 있기 때문에이 참조되지 않도록이 작동하지 않습니다 그것의 선택권을 다시. 질문은 다음과 같습니다.

=> 옵션을 다시로드하려면 어떻게해야합니까?

또는 => 시작한 후 지정된 날짜 이전에 날짜를 비활성화하는 방법은 무엇입니까?

+0

나는 [bind] (http://aurelia.io/hub.html#/doc/article/aurelia/binding/latest/binding-binding-behaviors/1)가이 문제를 도와 줄 것이라고 확신합니다! – Hevlastka

+0

글쎄, 그건 내 aurelia - bootstrap - datepicker가 바인딩되지 않습니다. 그래서 나는 HTML 템플릿에 어딘가에'& signal : 'need-update''를 추가 할 방법이 없다 ... – Lbro

답변

0

문서는 여기에 있습니다 : https://bootstrap-datepicker.readthedocs.io/en/stable/methods.html#setstartdate

당신은 당신의 코멘트 후 코드 줄을 변경하려면 :

document.getElementById("datefin").setStartDate(d); 

당신이 jQuery를 사용하는 경우 또는이보다 쉽게입니다 :

$('#datefin').setStartDate(d); 
+0

올바른 구문은'$ ('# datefin ')이다. datepicker ('setStartDate ', d); '. 하지만 1 : DOM에 새로운 div 캘린더를 넣었습니다. (그러나 2 : 나는 "Aurelia way"에서 더 많이 할 수 있었으면 좋겠다. JQUERY 또는 DOM 조작을 의미하지는 않는다.) – Lbro

+0

DatePicker ('setStartDate', d);'그리고 $ { 'datefin'}. find ('. datepicker')를 호출하면 작동합니다. Jquery없이 Aurelia mecanisms로 그것을하는 방법을 생각해라, 그것은 매우 교육적이고 흥미있을 것이다 :) – Lbro