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);
};