使用ng-repeat angularjs时获取输入值

时间:2018-08-17 18:47:56

标签: javascript angularjs

我正在将来自api的信息放入表中,我需要从输入中获取值。假设我有一份付款清单(从api中获得),有两种选择:全部付款或部分付款。

这是我的代码的一部分:

function searchPayments(){
  $http.get('theApi')
  .then(function(data){
     $scope.payments = data.data.Response;
}

然后,在我的html视图中:

<table class="table table-bordered">
   <thead>
      <tr>
         <th>Name</th>
         <th>Service</th>
         <th>Total</th>
         <th>Partial</th>
         <th>Amount</th>
      </tr>
   </thead>
   <tbody>
      <tr ng-repeat="pay in payments">
         <th>{{pay.Name}}</th>
         <th>{{pay.Service}}</th>
         <th>
           <input type="checkbox" name="totalCheck" class="form-control" 
                   ng-model="total" ng-disabled="partial"/>
         </th>
         <th>
           <input type="checkbox" name="partialCheck" class="form-control"
                  ng-model="partial" ng-disabled="total">
         </th>
         <th>
           <a ng-show="total">${{pay.AmountPay}}</a>
           <input type="text" class="form-control" placeholder="$"
                  ng-show="partial" style="width:100px;" id="importTo">
         </th>
      </tr>
   </tbody>
</table>

这就是问题:如果用户选中“总计”复选框,则在“金额”行中将显示从api获取的金额,如果选中“部分”复选框,则广告将显示一个文本框,用户可以在其中写“ x'的金额。然后,我有一个按钮:

<button type="button" class="btn btn-primary"
         ng-click="getSpecificId(pay);associateThis()">
  Let's pay!
</button>

将调用下一段代码:

$scope.getSpecificId = function(x){
    $scope.specificInfo = x.AmountPay;
    //Here's where i catch the especific quantity of the record what i want to pay
}

$scope.associateThis = function(){

        if($('input[name="totalCheck"]').is(':checked')){
            $scope.qtyOn = $scope.specificInfo;
            console.log($scope.qtyOn);
        }
        else if($('input[name="partialCheck"]').is(':checked')){*/
            $scope.qtyOn = document.getElementById('importTo').value;
            console.log($scope.qtyOn);
        }
        else{
            alert("Select Total or Partial checkbox!");
        }
    }

我的问题出在“部分”复选框被选中并按下按钮时,因为仅获得了第一条记录的写入值(如果用户选择了该第一条记录)。如果用户选择另一条记录,则该复选框中的值为空。

有人可以帮助我获得价值观吗?我正在使用Javascript,AngularJs和Bootstrap。

先感谢

0 个答案:

没有答案