【发布时间】:2017-03-02 06:04:17
【问题描述】:
我正在尝试获取一些依赖于其他输入数据的输入的值。我相信我需要一块手表来实现这一点,但我不确定,因为我尝试过的一切都失败了,出现了我不知道如何处理的错误。
我有一个在多行中有五个字段的批发订单,例如
code | quantity | price | discount % | total 1 |
code | quantity | price | discount % | total 2 |
code | quantity | price | discount % | total 3 |
code | quantity | price | discount % | total 4 |
代码列是产品代码的自动完成列表,点击后会填充价格列。然后在调整数量和折扣时更新总计列。
Total 纯粹是为用户显示的,但会在之前的 3 个输入中的任何一个发生更改时立即更新。我正在尝试获取为用户显示的所有总计的运行总计。以下是我尝试查看总数的一些尝试。
这里是一个笨蛋http://embed.plnkr.co/XdGjHy
这是我的输入。这是从打印出 100 行的 php for 循环中获取的。
<tr>
<td class="td-code"><input id="code'.$i.'" name="code'.$i.'" type="text" class="code'.$i.' order-code" value="'.@$orderItem->{'code'.$i}.'" /></td>
<td class="td-price"><input ng-model="price'.$i.'" class="order-price" id="price'.$i.'" name="price'.$i.'" type="number" value="'.@$orderItem->{'price'.$i}.'" step="0.50"/></td>
<td class="td-quantity"><input ng-model="quantity'.$i.'" class="order-price" id="quantity'.$i.'" name="quantity'.$i.'" type="number" value="'.@$orderItem->{'quantity'.$i}.'" /></td>
<td class="td-discount"><input ng-model="discount'.$i.'" class="order-price" id="discount'.$i.'" name="discount'.$i.'" type="number" value="'.@$orderItem->{'discount'.$i}.'" /></td>
<td class="td-total"><span class="row-total" ng-model="total'.$i.'" id="total'.$i.'" class="order-price" id="total'.$i.'" valid-number/>{{(price'.$i.' * quantity'.$i.') / 100 * (100 - discount'.$i.') | number:2}}</span></td>
</tr>
例如一只对我没有任何回报的手表。我只是想至少将前两个总数加在一起并显示它们
$scope.$watch("total1", function (newValue, oldValue) {
$scope.updated_info = $scope.total1 + $scope.total2;
});
然后当我输入 {{updated_info}} 或 {{scope.updated_info}} 时,我什么也看不到。
我在控制器应用程序中放置的两个代码示例。
$scope.total = function() {
var total = parseFloat($scope.total1 || 0) + parseFloat($scope.total2 || 0) +
parseFloat($scope.total3 || 0) + parseFloat($scope.total4 || 0) +
parseFloat($scope.total5 || 0);
return total || 0;
};
然后当我再次输入 {{total}} 或 {{scope.total}} 时,我什么也看不到。
【问题讨论】:
-
$scope.total 是函数,所以写成 {{total()}}。
-
它只是给了我一个零。
-
您的函数返回零,因此请调试并检查您的计算值。
-
不幸的是,这就是我从昨天以来一直在做的事情。
-
你能添加 plunker 吗?每个人都可以轻松回答。