2013-02-22 79 views
-1

我試圖觸發只讀輸入上的電平變化。我找不到一種替代方法來做到這一點。角度只讀輸入

<!DOCTYPE html> 
<html ng-app="angularjs-starter"> 

<head lang="en"> 
    <meta charset="utf-8"> 
    <title>Custom Plunker</title> 
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script> 
    <link rel="stylesheet" href="style.css"> 
    <script> 
    document.write('<base href="' + document.location + '" />'); 
    </script> 
    <script src="app.js"></script> 
</head> 

<body ng-controller="MainCtrl"> 
    <form> 
    <input type="text" ng-change="changeRO()" ng-model="input" readonly placeholder="I have readonly attribute." /> 
    <input type="text" ng-change="change()" ng-model="input" placeholder="Write" /> 

    <p ng-repeat="text in texts">{{text}}</p> 
    </form> 
</body> 
+1

這就像「我鎖車時無法打開車門。」你這樣做是錯的。 – 2013-02-22 17:01:42

+0

借調,快速裝載。如果你想讓你的文本框改變,那麼不要只使用readonly。 – 2013-02-22 22:11:02

回答

0

如果您的輸入是隻讀的,則意味着用戶不能直接更改其值。如果用戶不能這樣做,那麼onchange事件永遠不會被解僱。同樣代表您要動態更改值的情況, - onchange事件不會被觸發。

在你的情況,因爲你的讀/寫輸入連接到「輸入」模式(通過NG-模型),你可以從$觸發「changeRO」回調在你的控制器查看功能:

$scope.$watch('input', function(){ 
    $scope.changeRO(); 
});