iT邦幫忙

0

angularjs 新手 關於INPUT輸入數值的問題

菲爾迦納 11 月前983 瀏覽

我有個輸入框,並做出兩個按紐(+)和(-), 讓輸入框的數字分別做+1跟-1的動作。目前都沒問題。
但是在使用者自己點輸入框,手動輸入數字後。點選+或-。輸入框的數字就不會再跟著跳動。
已經卡了兩天,不知道問題是出在哪?以下是簡化過的JS跟HTML。能否教我問題出在哪?謝謝

$scope.plus = function () {
        $scope.quantity = $scope.quantity * 1 + 1;
    }
$scope.minus = function () {
        $scope.quantity = $scope.quantity * 1 - 1;
    }
$scope.change_quantity = function (num) {
        if(num > 0){
            $scope.quantity=num; 
            }
    }

------html-----
<input ng-model="quantity" 
       ng-change='change_quantity(quantity,{{quantity}})' >
<a ng-click="plus()"></a>
<a ng-click="minus()"></a>
看更多先前的討論...收起先前的討論...
newkevin iT邦高手 1 級 ‧ 11 月前 檢舉
按+-之前 沒去抓目前的數值
或手動輸入 沒存入
這2個方向
菲爾迦納 iT邦新手 5 級 ‧ 11 月前 檢舉
其實原本 $scope.quantity在手到輸入時,值是不會變動的。所以我多寫了一個change_quantity把值帶到$scope.quantity

目前3個FUNCTION 使用ALERT把值丟出來看,確定$scope.quantity值都會變。問題是HTML INPUT內的值不會跟著變化。

我程度不高,以我的理解$scope.quantity不是跟ng-model="quantity"綁在一起了嗎?有什麼理由會使的兩邊的值不同步
kgame iT邦新手 4 級 ‧ 11 月前 檢舉
這是angular的老bug,更新angular到1.5.8看看
菲爾迦納 iT邦新手 5 級 ‧ 11 月前 檢舉
嗯 我最後發現是使用ONSES UI 的問題 目前已經解決 感謝

尚未有邦友回答

立即登入回答