2017-09-29 13 views
1

と '価値' の入力:セット私はちょっと、私は次のdivを持ってAngularJSでnoobのだAngularJS機能

<div ng-app="" ng-controller="telController"> 

     Teléfono: <input type="text" ng-model="telefono.numero" ><br> 
     <input type="text" ng-model="telefono.tras" > 
     <br> 
     El telefono es: {{telefono.telefonoCodificado()}} 

    </div> 

angularjs機能は次のとおりです。

function telController($scope) { 
      $scope.telefono = { 
       numero: "", 
       telefonoCodificado: function() { 
        var x; 
        x = $scope.telefono; 

        var parte1; 
        parte1= $scope.telefono.numero; 
        var telCodificado = parte1.substring(0, 3)+"-"+parte1.substring(3, 6)+"-"+parte1.substring(6, 10); 

        return "A) "+x.numero+" <<>> "+ telCodificado; 
       }, 
       tras : function(){ 
        var y; 
        y = $scope.telefono.numero; 
        return y; 
       } 
      }; 
     } 

私はNGで入力したいです-model = 'telefono.tras'入力に入力された値でいっぱいになるng-model = "telefono.numero"しかし、それは起こっていません、何が間違っていますか?

答えて

1

新しい回答:問題に更新された後

、他の変数を更新するためにng-changeを使用して、より良いです。

JSFiddle Demo

旧回答:

こんにちは変数telefono.trasng-modeltelefono.numero)をコピーするために別の関数を記述する必要はありません、あなただけの同じ変数を割り当てることができます。そのようです。

JSFiddle Demo

あなたには、いくつかの機能のための人口telefono.tras、その関数を呼び出す前に、telefono.trastelefono.numero値を割り当てる必要があるとします。

telefono.trasを入力する場合は、$watch()メソッドを使用してください。

$scope.$watch('telefono.numero', function(newValue, oldValue){ 
    $scope.telefono.tras = newValue; 
}) 

JSFiddle Demo

私はこの答えは有用であった、すべての問題がある場合は私に知らせてください願っています。

提案:入力ボックスには、ディレクティブを追加する必要が数字のみを許可するように数字やテキストを、許可され、参照してください。このlink

+0

はあなたにNarenをありがとう、私は非常に有用だったが、今私が後悔私は質問します。関数を使って入力を設定する必要があるとします:telefonoCodificado? –

+0

@HéctorCapulínPatiñoこのようなことですか? [例](https://jsfiddle.net/ynxwmyum/)、私の答えを更新する正しいかどうかを確認してください –

関連する問題