3

나는이 날짜 선택기를 가지고어떻게 각 텍스트 상자 JQuery와 날짜 선택기를 결합 할 수

http://jsfiddle.net/kevinj/TAeNF/2/

현재이

'use strict'; 

angular.module('core').directive('jqdatepicker', function() { 
    return { 
     restrict: 'A', 
     require: 'ngModel', 
     link: function (scope, element, attrs, ngModelCtrl) { 
      element.datepicker({ 
       dateFormat: 'dd/mm/yy', 
       onSelect: function (date) { 
        scope.date = date; 
        scope.$apply(); 
       } 
      }); 
     } 
    }; 
}); 

과 같은 코드가 나는이

<input type="text" ng-model="date" jqdatepicker /> 
<br/> 
{{ date }} 
처럼 사용하고있다

제 문제는 여러 곳에서 사용하고 싶다는 것입니다.

model=date1 같은 t 모델,

model=date2는 그것이 오히려 하드 코드보다를 설정하는

scope.date = date; 
+0

'data.title' 바인딩이 방법입니다. 따라서 modelto 내부 지시문을 업데이트하면 외부의 data.title에 반영됩니다. 이슈가 뭐야? – PSL

+0

@PSL 입력 상자에 날짜 선택 도구를 사용하고 있는데 키보드로 항목을 삭제하기 시작했다면 상위 값이 업데이트되지만 datepicker를 선택하지 않은 것을 볼 수 있습니다. 나는이 datepicker를 사용하고 있었다 http://jsfiddle.net/kevinj/TAeNF/2/ – user3214546

+0

나는 당신의 예제와 여기에서도 완벽하게 잘 작동하는 것을 본다 http://plnkr.co/edit/FPFuTO?p=preview – PSL

답변

2

사용 ngModel 컨트롤러를 부착 어떤 모델에 작동하도록 즉 일반적인 만들 수있는 방법이 있습니까 값 대신 기본 범위 지정 문의 범위 변수를 설정하십시오. 범위 속성을 업데이트하고 재사용 가능하게 만들려면 기본 범위 옵션을 사용하지 않아야합니다 (기본값으로 언급되지 않은 경우 scope : false와 동일). 또는 ngModel이 필요한 경우 ngModel 컨트롤러를 사용하십시오. 예. 귀하의 경우에는 3 가지 주요 사항은 다음과 같습니다 -

//Set $viewvalue property of ngModel 
ngModelCtrl.$setViewValue(date); 
//Update the input with the ngmodel view value or in otherwords render it. 
ngModelCtrl.$render(); 
//Update any bindings invoking digest cycle 
scope.$apply(); 

시도 :

datePicker.directive('jqdatepicker', function() { 
    return { 
     restrict: 'A', 
     require: 'ngModel', 
     link: function (scope, element, attrs, ngModelCtrl) { 
      element.datepicker({ 
       dateFormat: 'DD, d MM, yy', 
       onSelect: function (date) { 
        //Set viewvalue and apply it to update the input 
        ngModelCtrl.$setViewValue(date); 
        ngModelCtrl.$render(); 
        //Update bindings 
        scope.$apply(); 
       } 
      }); 
     } 
    }; 
}); 

Demo

+0

고마워 친구, 그게 완벽하게 작동 – user3214546

+0

@ user3214546 당신은 오신 것을 환영합니다. :) – PSL