2017-06-21 76 views
2

我有一个表有一些输入和角度模型。将选定的选项传递给控制器​​功能

      <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输出未定义/ null。

为什么这个模型/对象不能通过?我做错了什么,如何解决?

回答

3

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> 

此外,要设置你的唯一<option>为 “mfrNo” 的value。我不知道这是否是有意的,但这意味着$scope.mfrNo的值将是"mfrNo"。我想你的意思是将它设置为$scope的其他值。使用{{some_scope_var}}插值。

+0

我得到的东西现在返回,但它的字符串'mfrNo'不是所选的输入。 –

+0

它看起来像是来自value =“mfrNo”。 –

+0

@DavidTunnell查看我的附加评论。这是因为该'

相关问题