Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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 带有日期格式的angularjs ng选项_Javascript_Angularjs - Fatal编程技术网

Javascript 带有日期格式的angularjs ng选项

Javascript 带有日期格式的angularjs ng选项,javascript,angularjs,Javascript,Angularjs,我试图在ng options中格式化日期,格式化工作正常,但无法将值绑定到控制器。我得到的值是未定义的。我做错什么了吗 <select class="select" ng-model="classdate" ng-init="classdate=''" ng-options="d.date as d.value | date:'d,MMM,yyyy' for d in datelist" > <option value="">Select lecture date&l

我试图在
ng options
中格式化日期,格式化工作正常,但无法将值绑定到控制器。我得到的值是未定义的。我做错什么了吗

<select class="select" ng-model="classdate"  ng-init="classdate=''"  ng-options="d.date as d.value | date:'d,MMM,yyyy' for d in datelist" >
<option value="">Select lecture date</option>
</select>

您在哪里调用
警报($scope.classdate)?如果您在init上调用它,它将显示undefined,因为您使用了
nginit=“classdate=”
。如果希望在选择不同选项时看到值的变化,请添加
ng change
属性

<select class="select" ng-model="classdate"  ng-init="classdate=''" ng-change="classdateUpdated()"  ng-options="d.date as d.value | date:'d,MMM,yyyy' for d in datelist">
<option value="">Select lecture date</option>
</select>

现在,您将在每次更新$scope.classdate时看到它的值

您在哪里调用
警报($scope.classdate)?如果您在init上调用它,它将显示undefined,因为您使用了
nginit=“classdate=”
。如果希望在选择不同选项时看到值的变化,请添加
ng change
属性

<select class="select" ng-model="classdate"  ng-init="classdate=''" ng-change="classdateUpdated()"  ng-options="d.date as d.value | date:'d,MMM,yyyy' for d in datelist">
<option value="">Select lecture date</option>
</select>

现在,您将在每次更新$scope.classdate时看到它的值

您需要在日期格式化后删除
作为d.value

angular.module('mymodule',[])
.controller('mycontroller',['$scope',函数($scope){
$scope.classdateUpdated=函数(){
log($scope.classdate);
};
$scope.datelist=[新日期(2000,01,01)、新日期(2000,02,01)、新日期(2000,03,01)、新日期(2000,04,01)、新日期(2000,05,01)、新日期(2000,06,01)、新日期(2000,07,01)];
}]);

选择讲座日期

您需要删除日期格式化后的
作为d.value

angular.module('mymodule',[])
.controller('mycontroller',['$scope',函数($scope){
$scope.classdateUpdated=函数(){
log($scope.classdate);
};
$scope.datelist=[新日期(2000,01,01)、新日期(2000,02,01)、新日期(2000,03,01)、新日期(2000,04,01)、新日期(2000,05,01)、新日期(2000,06,01)、新日期(2000,07,01)];
}]);

选择讲座日期

你能显示你的控制器代码并将你的控制器正确地包含在html标记中吗?@Yatin我认为问题在于格式化,因为当我移动格式化时,它会正常工作!你是说它通过删除这里的
class=“select”
来工作吗?你能显示你的控制器代码并在html标记中正确包含你的控制器吗?@Yatin我认为问题在于格式化,因为当我删除格式化时,它会正常工作!你是说删除这里的
class=“select”
就可以了吗?谢谢你建议的函数来记录值,但是请从classdateUpdated()中删除()-它不会工作。不用担心。我已经在我发布的代码中使用了你的函数。感谢你建议的用于记录值的函数,但请从classdateUpdated()中删除()-它将不起作用。不用担心。我在我发布的代码中使用了你的函数。
$scope.classdateUpdated = function() {
    console.log($scope.classdate);
};