Angularjs 复选框确认
Angularjs checkbox confirmation
当有人取消选中复选框时,我想确认。以下功能每隔一段时间才有效。当它第一次加载时很好。它会调用确认,如果您取消它,则会选中该复选框。但是,如果您再次单击它,则什么也不会发生。我确定我缺少一些简单的东西:
$scope.check = function(clickedid) {
if (document.getElementById(clickedid).checked === true) {
return false;
} else {
var box= confirm("Are you sure you want to do this?");
if (box===true){ // yes sure
return true;
}
else{ // cancel
document.getElementById(clickedid).checked = true;
}
}
};
这里是 html
<lable>Checkbox
<input type="checkbox" id="check1" ng-model="active" ng-change="check('check1')">
</label>
这是一个jsfiddle
而不是 ng-change
像这样使用 ng-click
<div ng-app="myApp">
<div ng-controller="Ctrl">
<label>Checkbox:
<input type="checkbox" id="check1" ng-model="active" ng-click="check('check1')">
</label>
</div>
</div>
因为 ng-change
,它与 ng-click
一起工作
<lable>Checkbox
<input type="checkbox" id="check1" ng-model="active" ng-click="check('check1')">
</label>
当有人取消选中复选框时,我想确认。以下功能每隔一段时间才有效。当它第一次加载时很好。它会调用确认,如果您取消它,则会选中该复选框。但是,如果您再次单击它,则什么也不会发生。我确定我缺少一些简单的东西:
$scope.check = function(clickedid) {
if (document.getElementById(clickedid).checked === true) {
return false;
} else {
var box= confirm("Are you sure you want to do this?");
if (box===true){ // yes sure
return true;
}
else{ // cancel
document.getElementById(clickedid).checked = true;
}
}
};
这里是 html
<lable>Checkbox
<input type="checkbox" id="check1" ng-model="active" ng-change="check('check1')">
</label>
这是一个jsfiddle
而不是 ng-change
像这样使用 ng-click
<div ng-app="myApp">
<div ng-controller="Ctrl">
<label>Checkbox:
<input type="checkbox" id="check1" ng-model="active" ng-click="check('check1')">
</label>
</div>
</div>
因为 ng-change
,它与 ng-click
<lable>Checkbox
<input type="checkbox" id="check1" ng-model="active" ng-click="check('check1')">
</label>