尝试使用Angular.js设置DB值时出现以下错误。
错误:
TypeError: index.push is not a function
我正在解释下面的代码。
<tr ng-repeat="d in days">
<td>{{d.day}}</td>
<td> <select class="form-control" id="catagory" ng-model="catagory" ng-options="cat.name for cat in listOfCatagory track by cat.value " ng-change="removeBorder('catagory',$index,catagory.value);" >
</select></td>
<td>
<select class="form-control" id="subcatagory+$index" ng-model="subcatagory[$index]" ng-options="sub.name for sub in listOfSubCatagory+$index track by sub.value " >
<option value="">Select Subcategory</option>
</select>
</td>
<td><input type="text" name="comment" id="comment" class="form-control oditek-form" placeholder="Add Comment" ng-model="comment" ng-keypress="clearField('comment');"></td>
</tr>
当用户从第一个下拉列表中选择值时,下面的部分正在执行。
$scope.removeBorder=function(id,index,catvalue){
var catdata=$.param({'action':'subcat','cat_id':catvalue});
$http({
method:'POST',
url:"php/customerInfo.php",
data:catdata,
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}).then(function successCallback(response){
//console.log('sub',response.data);
angular.forEach(response.data,function(obj){
var data={'name':obj.subcat_name,'value':obj.subcat_id};
$scope.listOfSubCatagory+index.push(data);
})
},function errorCallback(response) {
})
}
我在此$scope.listOfSubCatagory+index.push(data);
行收到错误。请帮我解决此错误。
答案 0 :(得分:0)
您正在使用 ng-change =&#34; removeBorder(&#39; catagory&#39;,$ index,catagory.value);&#34;
其中 $ index 返回列表中元素的索引,这是一个整数。
您正试图在整数上调用.push()函数,这就是您收到此错误的原因。