-1

このフィドルを検討してください

ご覧のとおり、ドロップダウンとバインディングを備えた単純なフォームです。フィドルでは、detail と edit の 2 つのビューについて言及しています。詳細ビューにはすべてがプレーン テキストで表示され、編集ビューは変更が可能なフォームです。

私が達成しようとしているのは、ドロップダウンが値を変更したときに、その場でUser.titleオブジェクトを更新したいということです。どうすればこれを達成できますか?

編集: ドロップダウンでは、フォームが投稿されたときにどの ID が選択されているかを知る必要があります。また、ドロップダウンで選択した値を設定するための ID も必要です。

4

3 に答える 3

1

ドロップダウンで選択されたデフォルト値が明らかに必要です。User.titletitles 配列の値に基づいてオブジェクトを初期化する必要があります。

このフィドルをチェックしてください。

于 2013-06-17T08:50:27.037 に答える
1

ng-model を使用して、ビューをモデルにバインドします。

しかし、ng-options ディレクティブでは、「as」の前の部分は、ng-model で提供されているモデルの上にさらに「モデル」をバインドします。title.id を省略すると、オブジェクト全体が「追加モデル」になります。{id: .., name: ..}

http://jsfiddle.net/rLjC5/1/

PS: ng-model なしでは ng-options を使用できないのはそのためです。

于 2013-06-17T08:38:53.217 に答える
0

それを行う 1 つの方法は、select のモデルを User.title にバインドすることです。

<select data-ng-model="User.title" data-ng-options="title.name for title in titles"

ここにフィドルがありますhttp://jsfiddle.net/vR274/1/

于 2013-06-17T08:46:21.943 に答える