16

Angularの非表示フィールドにアクセスするにはどうすればよいですか?リスト内の各アイテムのフォームを送信したいアプリがあります。フォームはシンプルです。送信ボタンとID値を保持する非表示フィールドがあります。しかし、それは機能しません。値は空です。

状況を表示するようにデフォルトの角度の例を更新しました-todoテキストは非表示フィールドにあります。

http://jsfiddle.net/tomasfejfar/yFrze/

4

7 に答える 7

13

JavaScript ファイルに何もハードコーディングしたくない場合は、AJAX 経由でロードするか、次のようにします。

<input type="hidden" name="value" ng-init="model.value=1" value="1">

このようにして、JS をオフにしてフォーム機能を維持し、AngularJS の非表示フィールドを引き続き使用できます。

于 2013-05-24T06:49:28.370 に答える
8

ng-repeat からコードに ID を渡したい場合は、隠しフィールドを使用する必要はありません。これが私がしたことです:

たとえば、映画のコレクションをループしているとします。「もっと読む」リンクをクリックすると、ID が JS コードに渡されます。

<ul>
  <li ng-repeat="movie in movies">
    {{movie.id}} {{movie.title}} <a href="#" ng-click="movieDetails(movie)">read more</a>
  </li>
</ul>

次に、JS コードで、次のように ID を取得できます。

$scope.movieDetails = function (movie) {
  var movieID = movie.id;
}
于 2012-07-26T20:56:33.267 に答える
2

より単純なフィドルでは、 ng-init を使用するか、コントローラーで初期値を設定することで問題を解決できます。このvalue属性は ng-model には影響しません。

http://jsfiddle.net/andytjoslin/DkMyP/2/

また、最初の例 (http://jsfiddle.net/tomasfejfar/yFrze/) は、Chrome 15/Windows 7 の現在の状態で機能します。

于 2012-06-25T01:34:04.273 に答える
1

より簡単:

<input type="hidden" name="livraisonID" value="{{livraison.id}}"/>

できます!

于 2013-11-12T10:19:32.090 に答える
0

を使用しng-binding="{{employee.data}}"ます。正常に動作します。

于 2016-07-04T10:28:28.187 に答える