2014-09-02 109 views
0

我有這個非常簡單的形式:可以在輸入文本值更改時更改按鈕文本嗎?

<div ng-app> 
    <div ng-controller="Ctrl"> 
    <form> 
     <input type="text" value="" onchange="angular.element(this).scope().change(this)" /> 
     <br /> 
     <input type="submit" name="button1" value="{{text}}" /> 
    </form> 
    </div> 
</div> 

而且這個JS:

function Ctrl($scope) { 
    $scope.text = "New"; 
    $scope.change = function (element) { 
    $scope.text = element.value; 
    $scope.$apply(); 
    } 
} 

jsfiddle

目前,當我離開文本字段按鈕value被更新。如何在用戶輸入時更改按鈕value

回答

4

沒有必要推倒重來,只需使用ng-model指令:

<input type="text" ng-model="text" /> 

DEMO:http://jsfiddle.net/d28L8bc9/1/

+0

後續操作:如果我只想更改按鈕標籤,如果text.length> 3,是否易於編輯? – dee 2014-09-02 15:28:50

+1

@dee類似的東西:http://jsfiddle.net/d28L8bc9/2/? – VisioN 2014-09-02 15:33:57

2

HTML:

<div ng-app> 
    <div ng-controller="Ctrl"> 
    <form> 
     <input type="text" value="" ng-model="text" /> 
     <br /> 
     <input type="submit" name="button1" value="{{text}}" /> 
    </form> 
    </div> 
</div> 

JS:

function Ctrl($scope) { 
    $scope.text = "New"; 
}