如何获得价值选择标签

时间:2014-01-13 08:27:27

标签: angularjs select xls

示例问题http://plnkr.co/edit/nqgujfj7msKoJ4Tm3Tlz?p=preview

通用loade xls文件

步骤进行:

  1. 加载xls文件
  2. 根据col数据设置选择值并再次加载
  3. 为什么,在第二步功能changeSelect返回undefined,或者如何在第二步获取值所有select的用户选择!?

1 个答案:

答案 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
};