输入ng-repeat不更新甚至ng-model已更改

时间:2017-01-02 03:09:31

标签: angularjs smart-table

我在其中有一个输入表,允许用户编辑商品数量,当用户通过ng-change输入数量时,计算帐单中所有商品的总价值。在ng-change中,我将检查数量是否大于当前库存,我将其重置为旧值并且不更新总值(加上show msg err等.....)。 Everthing很好,但我唯一的问题是我无法使用模型进行输入更新。

<table st-table="goodsOfBillList" st-safe-src="sellDetailList" class="table table-striped">
<tr ng-repeat="row in goodsOfBillList" st-select-row="row" st-select-mode="single" ng-show="!sellBillCtrl.isLoading">
    <td>
        <input id="quantity" ng-model="row.quantity" ng-model-options="{ updateOn: 'blur' }" 
               placeholder="current stock : {{row.currentStock}}"
               class="form-control input-md" required="" type="number" min="1" max="{{row.currentStock}}"
               ng-change="updateTotal(row, '{{row.quantity}}')">
    </td>
</tr>
</table>

当我输入如下图所示的无效值(50)时,数量会重置回先前的值(5),但模型中的输入不会更新

$scope.updateTotal = function (row, oldVal)
{
    //because I set max value, if I input an invalid value, row.quantity become undefined
    //Checked by using alert()
    if(typeof row.quantity === "undefined") 
    {
        row.quantity = oldVal;
        alert(JSON.stringify(row));
        return;
    }
    //logic if valid value   
};

enter image description here

我在智能表中使用输入,而在boostrap模式中使用表

0 个答案:

没有答案