2013-02-22 75 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(); 
});