我正在尝试在<h1>
代码中打印页面上的文字,具体取决于是否选中了复选框。
$scope.EmailMe = function(email) {
if($scope.emailchecked == 1) {
$scope.test = "emailSent";
} else {
$scope.test = "nothing";
}
}
HTML是:
<input type="checkbox" ng-model="emailchecked" ng-change="EmailMe(1)">
<h1> @{{test}} </h1>
我有文字打印,但没有选中复选框。或允许变更请帮忙:)
答案 0 :(得分:1)
使用ng-true-value
&amp; ng-false-value
,因此会根据选择为您提供1
/ 0
值。
<input type="checkbox" ng-model="emailchecked"
ng-true-value="1"
ng-false-value="0"
ng-change="EmailMe(emailchecked)">
即使您不使用ng-true-value
,但这不会使您将模型值保持为0/1。默认情况下,复选框值为true / false。
答案 1 :(得分:1)
HTML
<body ng-controller="MainCtrl">
<input type="checkbox" ng-model="emailchecked" ng-change="EmailMe()">
<h1> @{{test}} </h1>
</body>
控制器
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.EmailMe = function() {
if($scope.emailchecked == 1) {
$scope.test = "emailSent";
} else {
$scope.test = "nothing";
}
};
});
http://plnkr.co/edit/EfIMMn7Be7QL258aUiXW
并且在您的代码中,您正在更改不需要的emailchecked
。
答案 2 :(得分:0)
您需要将if(email = 1)更改为if(email == 1)。缺少一个等于