簡體   English   中英

angular.js:12520 TypeError:無法讀取r。$ scope.insertvalue處未定義的屬性'option1'

[英]angular.js:12520 TypeError: Cannot read property 'option1' of undefined at r.$scope.insertvalue

我正在從事一個名為“黃金貸款管理系統”的項目。我要在其中插入客戶裝飾品的清單及其權重,使用http.post()完成插入,我想插入多個裝飾品,因此我使用了我可以將值插入數據庫,但顯示以下錯誤消息。

裝飾插入

的index.html

<form  class="form-inline form-group">
   <fieldset  data-ng-repeat="choice in    choices">
      <div class="col-xs-3">
         <div class="form-group">
            <select  class="form-control"    id="optioin1"  ng- model="choice.option1" >
               <option value="Ring"   >Ring</option>
               <option value="Earings" >Earings</option>
               <option value="Chains">Chains</option>
               <option value="Necklaces">Necklaces</option>
               <option value="Bangles">Bangles</option>
            </select>
         </div>
         {{choice.option1}}
      </div>
      <div class="col-xs-4">
         <div class="input-group">
            <input type="number" step="0.01" ng-model="choice.weight" class="form-control" placeholder="Weight" aria-describedby="basic-addon2">
            <span class="input-group-addon" id="basic-addon2">gm</span>
         </div>
      </div>
      <div class="col-xs-4 pull-right">
         <button class="btn btn-default" ng-show="$last"  ng-click="removeChoice() "><span class="glyphicon glyphicon-minus" aria-hidden="true"></span></button>
         <button class="btn btn-default"  ng-show="$last" ng-click="addNewChoice()"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></button>
      </div>
   </fieldset>
</form>

dashboard.js

app.controller('dashboardCtrl', function($scope,$rootScope,$http) {
    $scope.date = new Date();
    $scope.place='Kovilloor';
    $scope.choices = [{id: 'choice1'}];
    $scope.addNewChoice = function() {
        var newItemNo = $scope.choices.length+1;
        $scope.choices.push({'id':'choice'+newItemNo});
    };    
};
$scope.insertvalue = function(){
    var gl=($scope.GLID.GLID-0);
    $scope.gli=gl+1;
    for(var i=0;i<=$scope.choices.length;i++){
        $http.post("php/insertornament.php",   {'GLID':$scope.gli,'ORNAMENT':$scope.choices[i].option1,//Error
            'WEIGHT':$scope. choices[i].weight
        })
    }
}; 

看起來它應該小於 或小於或等於

更改:

for(var i=0;i<=$scope.choices.length;i++){

至:

for(var i=0; i < $scope.choices.length; i++){

冒犯的部分是這樣的:

'ORNAMENT':$scope.choices[i].option1

因為i將變得越界,因此$scope.choices[i]將因此未定義:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM