2016-04-26 2 views
0

こんにちはすべて私は体に解決策がある場合は問題が残っています。 基本的に私はjqueryDatePickerのイベントをトリガーし、任意の日付をクリックすると選択された日付を取得したいと考えています。 私は検索しましたが解決策を得られませんでした。 AngularJsで行われます。 は、以下の私のコードjqueryDatePickerを起動する方法

<div id="txtfuturedateWeekly" ng-model="employee.Date" jqdatepicker></div> 


app.directive('jqdatepicker', function() { 
return { 
    restrict: 'A', 
    require: 'ngModel', 
    link: function ($scope, $element) { 
     $element.datepicker({ 
      dateFormat: 'DD, d MM, yy', 
      onSelect: function (date) { 
       $scope.date = date; 
       $scope.$apply(); 
      } 
     }); 
    } 
}; 

})です。

と私は、私はこれをテストしていませんが、私はあなたがこのような何かを行うことができると思う日が

function lastDate(date) { 

    var lDate = date 
    var myDate = new Date(lDate);  

} 

enter image description here

function lastDate(date) { 
    debugger; 
    var lDate = $scope.employee.Date;//document.getElementById('datepicker').value;// see how to fetch value 
    var myDate = new Date(lDate); 

    var startOfWeek = moment(myDate).startOf('isoweek').toDate(); 
    var tue = moment(startOfWeek).add(1, 'days').toDate(); 
    var wed = moment(startOfWeek).add(2, 'days').toDate(); 
    var thu = moment(startOfWeek).add(3, 'days').toDate(); 
    var fri = moment(startOfWeek).add(4, 'days').toDate(); 
    var sat = moment(startOfWeek).add(5, 'days').toDate(); 
    var endOfWeek = moment(myDate).endOf('isoweek').toDate(); 

    var monDay = moment(startOfWeek).format("DD/MM/YYYY"); 
    var tueDay = moment(tue).format("DD/MM/YYYY"); 
    var wedDay = moment(wed).format("DD/MM/YYYY"); 
    var thuDay = moment(thu).format("DD/MM/YYYY"); 
    var friDay = moment(fri).format("DD/MM/YYYY"); 
    var satDay = moment(sat).format("DD/MM/YYYY"); 
    var sunDay = moment(endOfWeek).format("DD/MM/YYYY"); 

    $scope.employee.day1 = monDay; 
    $scope.employee.day2 = tueDay; 
    $scope.employee.day3 = wedDay; 
    $scope.employee.day4 = thuDay; 
    $scope.employee.day5 = friDay; 
    $scope.employee.day6 = satDay; 
    $scope.employee.day7 = sunDay; 

    $scope.employee.Date = monDay; 

} 
+0

私はすべてがどのように配線されているか分かりません。 'lastDate'はコントローラのようですが、$ scopeは注入されておらず、どちらも瞬間ではありません。変更の際に関数lastDateを呼びたいと思っていました。あなたが私にここに示しているのは、私が予期していたようにコントローラのスコープ上の関数ではなく、コントローラとしての 'lastDate'です。 – DerekMT12

答えて

0

を選択したときに火災であることを、以下の関数を呼び出したいです:

app.directive('jqdatepicker', function() { 
    return { 
     restrict: 'A', 
     require: 'ngModel', 
     scope: { 
      ngModel: '=', 
      ngChange: '&' 
     }, 
     link: function (scope, element, attrs, ngModel) { 
      element.datepicker({ 
       dateFormat: 'DD, d MM, yy', 
       onSelect: function (date) { 
        scope.$apply(function() { 
         scope.ngModel = date; 
         if(scope.ngChange) { 
         scope.ngChange(date); 
         } 
        }); 
       } 
      }); 
     } 
    }; 
}); 

と入力してから、lastDate()):

<div ng-model="employee.Date" jqdatepicker ng-change="lastDate(employee.Date)"></div> 
+0

その動作していない –

+0

さて、試してください – DerekMT12

+0

ハロー@のDerekMT12は基本的に、コードが動作しますが、それ以上に示したようにdivタグを使用しているタイプのテキストボックスの入力を適用し、この新しいバージョンを与えるトリガーNG-変更イベント –

関連する問題