2017-09-16 56 views
2

您可以在下面看到我的代码。Angular.js将模型从控制器返回到表单

var app = angular.module("appX", []); 
 
console.log(app); 
 
app.controller("orderController", function($scope) { 
 
\t \t $scope.printOption = function(option) { 
 
\t \t  var split = option.split('_'); 
 
\t \t  $scope.quantity = split[0]; 
 
\t \t  $scope.unitPrice = split[1]; 
 
\t \t  $scope.total = split[0] * split[1]; 
 
\t \t  console.log($scope.total); 
 
\t \t } 
 
\t \t });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<script src="https://rawgit.com/eu81273/jsfiddle-console/master/console.js"></script> 
 
<div ng-app="appX" ng-controller="orderController"> 
 
    <div > 
 
    <form action="" method="POST" role="form"> 
 
     <select ng-name="optionOne" class="form-control" ng-change="printOption(optionOne)" ng-model="optionOne"> 
 
     <option value="">Select</option> 
 
     <option value="1_12">1 for $12</option> 
 
     <option value="2_22">2 for $22</option> 
 
     <option value="3_29">3 for $29</option> 
 
     <option value="4_35">4 for $35</option> 
 
     <option value="5_40">5 for $40</option> 
 
     <option value="6_45">6 for $45</option> 
 
     <option value="7_50">7 for $50</option> 
 
     <option value="8_55">8 for $55</option> 
 
     <option value="9_60">9 for $60</option> 
 
     </select> 
 
    </form> 
 
    </div> 
 
    <div class="col" ng-show="total>0">Total for 8x10 Team and 1 - Individual Photo = {{total | currency}}</div> 
 
    
 
</div>

新建Angular.js我有一些下拉菜单的形式。每个人都将选定的值传递给我的Angular Controller。我能够解析数据并将一些必要的信息返回给表单。不过,我在表单中有许多下拉菜单,我只想为每个下拉菜单提供选择的合适总值。

+1

它不是完全清楚你想在这里问什么。看起来,这段代码可以像书面一样正常工作。您询问“多个下拉列表”,但仅显示样本中的一个。你尝试添加的另一个下拉列表有什么问题,但没有显示在这里? – Claies

回答

1

有一个名为console.js的库,它在您提供的JSFiddle中显示DOM中的控制台输出。你可以像下面的例子那样注释掉所有的console.log()或者删除库!参考下面的提琴。

var app = angular.module("appX", []); 
 
//console.log(app); 
 
app.controller("orderController", function($scope) { 
 
\t \t $scope.printOption = function(option) { 
 
\t \t  var split = option.split('_'); 
 
\t \t  $scope.quantity = split[0]; 
 
\t \t  $scope.unitPrice = split[1]; 
 
\t \t  $scope.total = split[0] * split[1]; 
 
\t \t  //console.log($scope.total); 
 
\t \t } 
 
\t \t });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="appX" ng-controller="orderController"> 
 
    <div > 
 
    <form action="" method="POST" role="form"> 
 
     <select ng-name="optionOne" class="form-control" ng-change="printOption(optionOne)" ng-model="optionOne"> 
 
     <option value="">Select</option> 
 
     <option value="1_12">1 for $12</option> 
 
     <option value="2_22">2 for $22</option> 
 
     <option value="3_29">3 for $29</option> 
 
     <option value="4_35">4 for $35</option> 
 
     <option value="5_40">5 for $40</option> 
 
     <option value="6_45">6 for $45</option> 
 
     <option value="7_50">7 for $50</option> 
 
     <option value="8_55">8 for $55</option> 
 
     <option value="9_60">9 for $60</option> 
 
     </select> 
 
    </form> 
 
    </div> 
 
    <div class="col" ng-show="total>0">Total for 8x10 Team and 1 - Individual Photo = {{total | currency}}</div> 
 
    
 
</div>

+0

@steverh您是否可以通过此答案解决您的问题? –

相关问题