有没有办法在angularjs中禁用整个div标签.我有一个div标签,里面包含几个表单字段,我只想用一个条件禁用它们.这可能吗?下面是我的代码.我尝试使用但它没有用.任何的意见都将会有帮助.谢谢,请看下面的代码.我有包含表单的主div标签.我想根据条件禁用表单,因此用户无法输入id和name文本字段.
<div>
<form name="form" role="form" novalidate
class="ng-scope ng-invalid ng-invalid-required ng-dirty ng-valid-minlength"
ng-submit="createStudy()">
<div class="form-group">
<label>ID</label> <input type="text" class="form-control"
name="id" ng-model="study.id">
</div>
<div class="form-group">
<label>Name</label> <input type="text" class="form-control"
name="name" ng-model="study.name" ng-minlength=1
ng-maxlength=50 ng-required="true">
</div>
<div class="modal-footer">
<a href="#/studies"><button type="button" class="btn btn-default"
data-dismiss="modal" ng-click="clear()">
<span class="glyphicon glyphicon-ban-circle"></span> Cancel
</button></a>
<button type="submit" ng-disabled="form.$invalid"
class="btn btn-primary">
<span class="glyphicon glyphicon-save"></span> Save
</button>
</div>
</form>
</div>
Run Code Online (Sandbox Code Playgroud) 我想弄清楚是否有任何方法可以将索引参数传递给promise的回调函数.例如.
serviceCall.$promise.then(function(object){
$scope.object = object;
});
Run Code Online (Sandbox Code Playgroud)
现在我想传入一个数组索引参数as
serviceCall.$promise.then(function(object,i){
$scope.object[i] = something;
});
Run Code Online (Sandbox Code Playgroud)
可以这样做吗?请告诉我.
这是下面的代码
StudyService.studies.get({id:
$routeParams.studyIdentifier}).$promise.then(function(study) {
$scope.study = study;
for(var i=0;i<study.cases.length;i++){
StudyService.executionsteps.get({id:
$routeParams.studyIdentifier,caseId:study.cases[i].id})
.$promise.then(function(executionSteps,i){
$scope.study.cases[i].executionSteps = executionSteps;
});
}
});
Run Code Online (Sandbox Code Playgroud) 我有一个名为Case的类,它包含一个executionSteps列表.每个executionStep都有一个名为enabled的布尔属性.我试图在HTML方面进行设置,但它从未在JS方面进行更新.HTML方面
<td>
<input type="checkbox"
ng-checked="acase.executionSteps[0].enabled"
ng-model="aa" ng-change="updateCaseExecutionStep('{{study.id}}','{{acase.id}}','{{acase.executionSteps[0].id}}','{{acase.executionSteps[0]}}')"/>
</td>`
Run Code Online (Sandbox Code Playgroud)
在控制器端,我有如下所示定义的函数updateCaseExecutionStep
$scope.updateCaseExecutionStep = function(studyId,caseId,executionStepId,executionStep){
...
...
}
Run Code Online (Sandbox Code Playgroud)
问题是当我更新我的复选框或甚至手动更新executionStep的enabled属性时
$scope.updateCaseExecutionStep = function(studyId,caseId,executionStepId,executionStep){
executionStep.enabled = true;
...
}
Run Code Online (Sandbox Code Playgroud)
我没有看到任何变化.在JS中传递的executionStep的enabled属性不会更改.请帮忙.
我是否必须在HTML方面以某种方式进行修改?