1

ngChange イベントを kendo-date-picker (toolbarOptions で定義された日付ピッカー) にバインドしたいのですが、ngChange が機能しません。

 $scope.toolbarOptions = {
        items: [{
            template: "<label>From</label>"
        }, {
            template: "<input id='start' kendo-date-picker ng-model='dateString' k-ng-model='dateObject' ngChange='startChange()' />",
            overflow: "never"
        }]};

 $scope.startChange = function() {console.log('changed');}
 
 function startChange() {console.log('changed');}

コードを確認してください。両方の startChange が機能しません。ReferenceError があります: startChange が定義されていません

4

1 に答える 1

0

ngChange を使用しています。次のように ng-change で変更してください:-

$scope.toolbarOptions = {
    items: [{
        template: "<label>From</label>"
    }, {
        template: "<input id='start' kendo-date-picker ng-model='dateString' k-ng-model='dateObject' ng-change='startChange()' />",
        overflow: "never"
    }]};

    $scope.startChange = function() {console.log('changed');}

または、javascript関数を呼び出したい場合は、使用する前にjs関数を定義する必要があります

  angular.module("KendoDemos", [ "kendo.directives" ])
  .controller("MyCtrl", function($scope){

        $scope.toolbarOptions = {
          items: [{
             template: "<label>From</label>"
            }, {
            template: "<input id='start' handle-change kendo-date-picker ng-model='dateString' k-ng-model='dateObject' onChange='startChange()' />",
        overflow: "never"
          }]

        };
    }).directive('handleChange',function(){
    return{
       link:function(scope,ele,attr){
         //you can use this
            //ele.on('change',function(){
              //alert(555)
           //})
      //or
      function startChange() {console.log('changed');}
    }
  }
 });
于 2016-12-19T06:12:31.910 に答える