我想我会直截了当地说明
所以,现在我有一个输入字段
balance
<input type="text" class="form-control" ng-model="vm.data.collection_amount">
和付款金额字段(在数组中)
<input type="text" class="form-control" ng-model="item.payment_amount" ng-change="vm.calculateAmount(item)">
然后我有一个数组中的付款清单
(vm.invoice)
对于每个付款清单行,都有一个复选框,然后是付款金额的输入字段。
这是工作流程:
- 用户输入他想要支付的金额余额。例如,他增加了余额$ 20
- 然后会有一份他必须支付的付款清单。让我们说他有2笔付款,他必须支付。
- 第一名是100美元,第二名是150美元
醇>
我想要实现的是另一张发票的验证。
我有这段代码
var co_amount = parseFloat(vm.data.collection_amount).toFixed(2);
//co_amount is $20;
if(item.checkbox == true){
console.log("checkbox : true");
if(vm.data.collection_amount == null || vm.data.collection_amount == undefined || vm.data.collection_amount == ''){
item.payment_amount = 0;
}
else{
if(vm.data.collection_amount > 0){
vm.data.collection_amount = 0;
item.payment_amount = co_amount;
}
else
item.payment_amount = 0;
}
}
else{
console.log("checkbox : false");
vm.data.collection_amount = co_amount;
item.payment_amount = 0;
}
现在,如果我切换第一个发票复选框,付款金额将自动填入余额金额20美元,余额金额将变为$ 0,如果我取消选中该复选框,付款金额将变为0然后余额将回到20美元(这没有问题,反之亦然)。
然后我检查了第一张发票,然后检查了第二张发票,第二张发票付款金额将变为0,这是正确的,因为余额金额已经是0.但是,如果我用第一张发票取消选中第二张发票检查后,余额金额将回到20美元,这是假的!我发现if else语句中缺少某些内容,但我无法弄清楚该怎么做。
我想要的是
当用户取消选中第二张发票时。余额仍然是 $ 0没有回到20美元。 在当前条件下,由于else语句,余额金额将回到20美元。
我已经处理了好几个小时了。它真的让我感到沮丧。
我知道还有更多的验证要做,但我不能继续前进,因为这是第一个&#34;步骤
有人可以指出该怎么办?非常感谢你