控制器Angular中的$ index

时间:2017-06-12 04:26:08

标签: angularjs indexing

如果我点击按钮,我想从选择ng-model =“NumProdutos [$ index]”获得我的价值。

此选择中的可能值为“1,2,3”,此选择位于具有ng-repeat的div内

这是我的html代码:

<select class="form-control"
        style="max-width:55%;"
        ng-model="NumProdutos[$index]"
        ng-options="obj.NumProdutos as obj.NumProdutos for obj in NumeroProdutos"
        ng-change="functionnumprodutos(NumProdutos[$index], {{x[0].NumPostoAgendamento}})"></select>

<input type="submit" value="teste" ng-click="teste($index)" class="btn btn-primary" />

控制器

$scope.teste = function (a) {
    console.log('a: ', a);

    console.log('N NumProdutos: ', $scope.NumProdutos[a]);
    console.log('N NumProdutos: ', $scope.NumProdutos);
    console.log('N NumProdutos: ', $scope.NumProdutos[$index]);
}

我试过了console.log,但我不知道如何获得ng-model =“NumProdutos [$ index]”这个值

2 个答案:

答案 0 :(得分:0)

试试这个:

HTML:

<select class="form-control"
    style="max-width:55%;"
    ng-model="NumProdutos[$index]"
    ng-options="obj.NumProdutos as obj.NumProdutos for obj in NumeroProdutos"
    ng-change="getIndex($index);functionnumprodutos(NumProdutos[$index], {{x[0].NumPostoAgendamento}})">
</select>

<input type="submit" value="teste" ng-click="teste(itemIndex)" class="btn btn-primary" />

控制器:

$scope.itemIndex = null;
$scope.getIndex = function (a) {
    $scope.itemIndex = a;
}

$scope.teste = function (a) {
    console.log('a: ', a);
    console.log('N NumProdutos: ', $scope.NumProdutos[a]);
    console.log('N NumProdutos: ', $scope.NumProdutos);
    console.log('N NumProdutos: ', $scope.NumProdutos[$index]);
}

答案 1 :(得分:0)

问题是$ index仅针对ng-repeat而非ng-options定义。因此,请继续使用以下方法,您将获得ng-change本身的索引。谢谢

&#13;
&#13;
function LoginController($scope) {

    $scope.NumeroProdutos = [{"NumProdutos":1},{"NumProdutos":2},{"NumProdutos":3}];
    $scope.itemIndex = null;
$scope.getIndex = function (a) {
   console.log(a);
   console.log('N NumProdutos: ', $scope.NumeroProdutos[a]);
}
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app ng-controller="LoginController">

<select class="form-control" ng-init="indexvalue"
    style="max-width:55%;"
    ng-model="NumProdutos" 
    ng-options="obj.NumProdutos for obj in NumeroProdutos"
    ng-change="getIndex(NumeroProdutos.indexOf(NumProdutos));">
</select>

</div>
&#13;
&#13;
&#13;