Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng焦点不适用于angularjs中的输入文本?_Javascript_Jquery_Angularjs - Fatal编程技术网

Javascript ng焦点不适用于angularjs中的输入文本?

Javascript ng焦点不适用于angularjs中的输入文本?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我想对输入文本使用ng focus,它不起作用,但它第一次给出了旧值。我想使用controller中的date字段值来创建动态URL,它将获取对应日期的JSON数据,所以这里我创建对应该日期的动态URL,所以我需要controller中的日期 还有一件事,我在下面的演示中使用了指令,从DatePicker到todatepicker,还有其他方法吗 Pluker演示版 HTML <input ng-model="from_date" ng-focus="changeFromDate()" t

我想对输入文本使用ng focus,它不起作用,但它第一次给出了旧值。我想使用controller中的date字段值来创建动态URL,它将获取对应日期的
JSON
数据,所以这里我创建对应该日期的动态URL,所以我需要controller中的日期

还有一件事,我在下面的演示中使用了指令,从DatePicker到todatepicker,还有其他方法吗

Pluker演示版

HTML

<input ng-model="from_date" ng-focus="changeFromDate()" type="text"/>

您应该尝试使用$broadcast将指令中的详细信息发送给控制器。请参见本节:

以下是相关代码以帮助您:

var app = angular.module('myApp', []);

app.directive('fromdatepicker', function() {
   return function(scope, element, attrs) {
       element.datepicker({
           inline: true,
           dateFormat: 'dd.mm.yy',
           onSelect: function(dateText) {
               var modelPath = $(this).attr('ng-model');
               putObject(modelPath, scope, dateText);
               scope.$apply();
               scope.$broadcast('dateSelected', {'date': dateText} );
           }
       });
   }
});
app.controller('myCtrl', function($scope) {
    $scope.item = ""
    $scope.$on('dateSelected', function(event, args) {
        alert(args.date);
    });
});

我猜这就是你想要达到的目标:


var-app=angular.module('myApp',[]);
app.directive('datepicker',function(){
返回{
链接:函数(范围、元素、属性、ctrl){
元素日期选择器({
是的,
日期格式:“年月日”,
onSelect:函数(日期文本){
ctrl.$setViewValue(日期文本);
}
});
},
要求:'ngModel'
}
});
应用程序控制器('myCtrl',函数($scope){
$scope.todate=“”;
$scope.fromdate=“”;
$scope.changeDate=函数(日期){
警报(日期);
}
});
自日期起:

迄今为止:



感谢您提供解决方案,但如何获取“$scope.todate=”“”的值$scope.fromdate=“”;`现在我们将如何使用“$scope.changeDate=function(date){alert(date);}”对应的日期,请查看您的链接我不明白您的意思
var app = angular.module('myApp', []);

app.directive('fromdatepicker', function() {
   return function(scope, element, attrs) {
       element.datepicker({
           inline: true,
           dateFormat: 'dd.mm.yy',
           onSelect: function(dateText) {
               var modelPath = $(this).attr('ng-model');
               putObject(modelPath, scope, dateText);
               scope.$apply();
               scope.$broadcast('dateSelected', {'date': dateText} );
           }
       });
   }
});
app.controller('myCtrl', function($scope) {
    $scope.item = ""
    $scope.$on('dateSelected', function(event, args) {
        alert(args.date);
    });
});