0

私は時間フィールドを持つ動的に生成されたフォームを持っていて、それはangular-moment-pickerで埋められています。 ng_changeに割り当てられた関数を使用して、この値を他の時間フィールドにコピーします。現在、この関数は呼び出されませんが、入力フィールドにはng_changeが含まれています。 moment-pickerを使用しないと、値は問題なくコピーされます。 入力フィールド:ng_changeは角モーメントピッカーの時間値を他のフィールドにコピーしません

@Html.TextBoxFor(model => model.Mymodels.Model[i].Time, 
         new 
         { 
          @class = "form-control", 
          ng_Model = "Model_Time" + (i + 1), 
          ng_change = "copyTime(" + (i + 1) + ")", 
          moment_picker = "Model_Time" + (i + 1), 
          format = "LT", 
          locale = "nl", 
          ng_model_options = "{ updateOn: 'blur' }", 
          set_on_select = true 
         }) 

コピー機能:

$scope.copyTime = function (index) { 
     console.log("Check if function is called"); 
     $scope.Model_Time2 = $scope.Model_Time1; 
     $scope.Model_Time3 = $scope.Model_Time1; 
     $scope.Model_Time4 = $scope.Model_Time1; 
}; 

答えて

0

docsによれば、changeと呼ばれる独自の機能を持っています

@Html.TextBoxFor(model => model.Mymodels.Model[i].Time, 
         new 
         { 
          change = "copyTime(" + (i + 1) + ")" 
          // ... 
         }) 

角度モーメントが使用している場合は、言ったことngModelControllerモデルを更新するには、ng-changeもinvokなのでモデルが変更されると自動的に更新されます。 ng-model-optionsでうまくいきませんか?

+0

しかし、それは私がしたいように動作しません。それは値をコピーしますが、すべてのフィールドは他のフィールドに依存しています。私が2回目の値を変更すると、他のすべてのフィールド値も変更されます。最初のフィールドで値が変更された場合にのみすべての値を設定したいので、残りのフィールドは他のフィールドとは独立して編集可能です。 – Mony

+0

あなたの質問のように、発射されていない機能が解決されたようです。関数が実際に特定のコントロールのために起動されるべきでないか、またはその実装を変更する必要がある場合、それは別の問題です。 –

関連する問題