我有一个表格,有一些输入和角度模型。

                            <td>
                                <select class="form-control" id="">
                                    <option ng-model="mfrNo" ng-repeat="manufacturer in manufacturers" value="mfrNo">{{manufacturer.SUPP_NAME}} [{{manufacturer.SUPP_NO}}]</option>
                                </select>
                            </td>
                            <td>
                                <input type="text" ng-model="newCon" class="form-control" name="new_contract_number" value="" maxlength="500"/>
                            </td>
                            <button type="button" class="btn btn-default" data-dismiss="modal" data-ng-click="reassignContract()">Reassign</button>

在我的控制器中,我想检索选择/输入的值。
    $scope.reassignContract = function () {
        console.log($scope.newCon);
        console.log($scope.mfrNo);

    };

第一个模型newCon通过文本输入。但第二个,mfrNo输出未定义/空。
为什么这个模型/对象没有通过?我做错了什么?我该怎么解决?

最佳答案

ngModel应该转到<select>而不是<option>。您还应该考虑使用ngOptions
所以:

<td>
    <!-- ngModel should go here -->
    <select ng-model="mfrNo" class="form-control" id="">
        <!-- Instead of here -->
        <option ng-repeat="manufacturer in manufacturers" value="mfrNo">{{manufacturer.SUPP_NAME}} [{{manufacturer.SUPP_NO}}]</option>
    </select>
</td>

此外,您正在将您的onlyvalue<option>设置为“mfrNo”。我不知道这是不是有意的,但这意味着$scope.mfrNo的值将是"mfrNo"。我想您的意思是将它设置为$scope中的其他值。使用{{some_scope_var}}插值。

07-25 21:47