Javascript ng焦点不适用于angularjs中的输入文本?
我想对输入文本使用ng focus,它不起作用,但它第一次给出了旧值。我想使用controller中的date字段值来创建动态URL,它将获取对应日期的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
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);
});
});