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>