我有2个选择字段和输入字段数作为范围对象属性
$scope.resetAll=function(){
$scope.tableVal=0;
};
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<select ng-model="tableVal.portfolio" ng-change="getProjectPhase(tableVal.portfolio)" class="form-control portfolioSelect" id="sel1" style="margin-top: -3px;">
<option>blah blah<option>
<select ng-model="tableVal.project" ng-options="v as v for (k,v) in selectOptions" class="form-control projectPhaseSelect" id="sel3" style="margin-top: -3px;">
<option>blah blah<option>
</select>
<td>$<input id="testingInput" type="number"step="0.02" ng-disabled="!tableVal.project" ng-model="tableVal.Prevention"> </td>
<td>$<input id="testingInput" type="number" step="0.02" ng-disabled="!tableVal.project" ng-model="tableVal.Appraisal"> </td>
<td>$<input id="testingInput" type="number" step="0.02" ng-disabled="!tableVal.project" ng-model="tableVal.InternalFailure"> </td>
<button type="button" class="btn btn-primary" ng-click="resetAll()"style="margin-top: -11px;">RESET</button>
当我点击重置按钮 $ scope.tableVal = 0; 重置所有字段,但在我的情况下,我希望选择值不被替换,我以某种方式设法获取值并设置手动,但没有用
function(portfolio,project){
$scope.tableVal=0;
$scope.tableVal.portfolio=portfolio;
$scope.tableVal.project=project;
}
如何解决此问题
答案 0 :(得分:1)
在resetAll方法中,重置除绑定到select的那些值之外的所有值。
for (var key in $scope.tableVal) {
if (key !== 'project' && key !== 'portfolio') {
$scope.tableVal[key] = 0;
}
}