我正在将来自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。
先感谢