Javascript 将所选选项传递给控制器功能

Javascript 将所选选项传递给控制器功能,javascript,angularjs,html,Javascript,Angularjs,Html,我有一张桌子,上面有一些输入和角度模型 <td> <select class="form-control" id=""> <option ng-model="mfrNo" ng-repeat="manufacturer in manufacturers" value="mfrN

我有一张桌子,上面有一些输入和角度模型

                            <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>
第一个模型
newCon
通过文本输入。但是第二个,
mfrNo
输出未定义的/null


为什么此模型/对象未通过?我做错了什么?如何修复它?

ngModel
应该放在
上,而不是
上。你也应该考虑使用.

因此:


{{manufacturer.SUPP_NAME}}[{{manufacturer.SUPP_NO}]

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

我现在得到返回的东西,但它是字符串“mfrNo”,而不是所选的输入。它看起来像来自value=“mfrNo”。@DavidTunnell请参阅我的其他注释。这是因为
的实际值是字符串文字“mfrNo”。如果不打算使用ngOptions,则需要使用插值。@DavidTunnell我猜它应该是
value=“{{manufacturer.SUPP\u NO}}”
    $scope.reassignContract = function () {
        console.log($scope.newCon);
        console.log($scope.mfrNo);

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