2016-10-19 8 views
1

入力フィールドに別の入力フィールドの値をあらかじめ入力する必要があります。したがって、最初のフィールドがフォーカスを失ったら、2番目のフィールドは同じ値になります。フィールドは編集可能ですが、最初は最初のフィールドの値を持ちます。私は、2番目のフィールドのngModelが更新されていないことを発見しました。anglejsの入力フィールドの値をプログラムで設定する

私は2番目のフィールドの値を設定するには、この操作を行います。

$("#" + fieldId).val(newstring); 

はここで、最初のフィールドのためのHTMLです:

<td class="formLabel" vAlign="top" align="left"> 
           <input validate-date-time val-type="date" val-start="true" val-end-id="endDate" id="startdate" size="10" max="10" width="20" ng-model="newEvent.startDate"> 
           mm/dd/yyyy 
          </td> 

は、ここでは2番目のフィールドのためのHTMLです:

<td class="formLabel" vAlign="top" align="left"> 
           <input size="10" validate-date-time val-type="date" id="endDate" max="10" width="20" ng-model="newEvent.endDate"> 
           mm/dd/yyyy 
          </td> 

これは指示の中で行われます。どのようにこの作品を作る上の任意のポインターですか? 入力valを無駄に設定した後、scope。$ applyとscope。$ digestを呼び出そうとしました。 jQueryを使用すべきでない場合、値を設定する角度の仕方は何ですか? おかげ

+0

:あなたはあなたが言及した次のjQueryコードを削除する必要がありますか?あなたのHTMLがどのように見えるか教えてください。 – Makoto

+0

一般的には、角度付きアプリケーション(ディレクティブリンク関数などではない)でjqueryを使用しません。これまでに何を試してみたのか、いくつかのサンプルコードを表示して投票したり閉じたりする必要があります。 –

答えて

1

するTryこのような何か:

// in the controller, add 
$scope.isStartDateInitialized = false; 
$scope.onStartDateSet = function() { 
    if (!$scope.isStartDateInitialized) { 
     $scope.isStartDateInitialized = true; 
     $scope.newEvent.endDate = $scope.newEvent.startDate; 
    } 
}; 

<!-- add the following attribute to the start date input --> 
<input ... ng-blur="onStartDateSet()" /> 

注1:上記のコードは、あなただけのプログラムで終了日開始日が設定されている非常に最初の時間を更新することを想定しています。開始日が変更されたときに開始日に設定する場合は、ng-blurの代わりにng-changeを使用できます。

注2:なぜ、あなたは、このためのjQueryを使用している

$("#" + fieldId).val(newstring); 
+0

ありがとう!これは機能します。 – Lazloman

+0

@GPicazoあなたのコードについての新参者の質問に答える気にならないなら、私は非常に感謝しています。私はJS、Angular、jQueryを初めて使うので、たくさんのことを学んでいます。 'isStartDateInitialized'と' onStartDateSet'がこれらの自己定義関数名であるか、Angularライブラリ内のライブラリ関数で構築されているのでしょうか? –

+0

@ dalelandry-あなたが言及したプロパティとメソッドはカスタムであり、構築されているアプリケーション固有のものです。 $ scopeオブジェクト(とコンセプト)はAngularに固有ですが、そのメソッドはそのAngularアプリケーションに固有のものです。たとえば、あなたと私が両方とも全く異なるAngularアプリケーションを構築している場合、私たちはどちらも$範囲を直接的または間接的に扱います。ただし、そのスコープに関連付けられているプロパティとメソッドは異なる可能性があります。 – GPicazo

関連する問題