示例问题http://plnkr.co/edit/nqgujfj7msKoJ4Tm3Tlz?p=preview
通用loade xls文件
步骤进行:
为什么,在第二步功能changeSelect返回undefined,或者如何在第二步获取值所有select的用户选择!?
答案 0 :(得分:1)
简短回答:您要求实际包含$scope.myOpt
范围的祖先范围内的myOpt
。
答案很长:这段代码:
<body ng-controller="MainCtrl">
...
<tr ng-repeat="row in rows">
<td ng-repeat="cell in row">
<select ng-change="changeSelect();" ng-model="myOpt" ng-options="..."></select>
创建以下范围层次结构:
$rootScope
MainCtrl scope <- myOpt is read here
1st ng-repeat scope
2nd ng-repeat scope <- myOpt is set here
根据JS原型继承,祖先范围无法看到变量。
对于您的情况,我建议将myOpt
传递给changeSelect()
:
<select ng-change="changeSelect(myOpt)" ng-model="myOpt" ng-options="..."></select>
和
$scope.changeSelect = function(x) {
console.log(x); // or whatever
};