Javascript 使用ng更改检查的ng不工作
这是我的angularjs代码Javascript 使用ng更改检查的ng不工作,javascript,angularjs,switch-statement,toggle,Javascript,Angularjs,Switch Statement,Toggle,这是我的angularjs代码 <label class="switch"> <input type="checkbox" ng-model="question.questionId" ng-change="questionStatusChange(question.questionId,!question.active)" ng-checked="question.active" > <span class=
<label class="switch">
<input
type="checkbox"
ng-model="question.questionId"
ng-change="questionStatusChange(question.questionId,!question.active)"
ng-checked="question.active" >
<span class="slider round"></span>
</label>
我正在使用此切换:
您的问题是
ng model
和ng checked
不能一起使用
您应该能够只使用ng model
,并将其绑定到模型上的布尔属性。从html中删除ng checked
,只需使用ng model
编辑:下面显示了如何使用ng repeat
创建
列表,其中每个部分在$范围内都有自己的对象。问题[]
。完成后,您可以使用ng model
并将其直接绑定到问题[i].active
var-app=angular.module(“MyApp”,[]);
var MyController=函数($scope){
$scope.questions=[{
问题一:1,,
活动:错误,
问题正文:“第一个问题”
}, {
问题二,,
主动:对,
问题正文:“第二个问题”
}];
$scope.questionStatusChange=函数(currentQuestion){
//currentQuestion.active=!currentQuestion.active;
console.log(“当前问题文本:+currentQuestion.questionText+”\n是否单击了?”+currentQuestion.active);
}
}
app.controller(MyController,“[$scope,MyController]”)代码>
ng已检查或ng型号。对于ng型号,您可以添加ng更改。永远不要在同一个输入上同时使用这两个参数。@PetrAveryanov在初始循环中,我希望根据该值将其设置为“已检查/未检查”,因此我使用了ng checked。请给出代码示例。为什么要将id
绑定到带有ng model=“question.questionId”
的复选框?在我看来,这应该是html中的其他地方,比如在
我不需要ng模型,但如果没有它,ng更改将无法工作,这就是我写的原因。您可以添加另一个复选框,该复选框已在初始选中,它应该改变uncheck@Mrworldwide我已经更新了我的答案。你能看到我的答案吗?当它在小提琴中正常工作时,但在我的初始场景中,它不工作,但当我按预期更改它的工作时,是否有其他方法在初始加载时进行检查。?
$scope.questionStatusChange = function(questionId,status) {
console.log(status);
}