0

次のコードがあります。

<select class="form-control" data-ng-model="form.ProtocolId" data-ng-options="protocol.ProtocolId as protocol.Name for protocol in protocols" required />

プロトコルの構造は次のとおりです。

[{ "ProtocolId": 1, "Name": "Protocol 1", "Description": "A description for protocol 1" }]

$scope.form で、フォームを送信するために必要な ProtocolId を設定しています。しかし、ユーザーがプロトコルを選択したときに、プロトコルの説明をユーザーに表示したいと思います。みたいな{{selectedProtocol.Description}}selectedProtocol私はIDを選択しているだけなので、持っていないことを除いて。

ここで実際に選択されたプロトコルを取得する方法はありますか? 選択したプロトコルの変更を追跡するメソッドを作成し、コントローラーで form.ProtocolId を設定することもできますが、もっと簡単な方法があるのではないかと思います...

4

2 に答える 2

0

そのため、ngRepeat オプションを回答としてマークしましたが、いくつかの理由で使用しなくなりました。主な理由は、モデルの構造が原因で、リストの値が angularjs を使用してフォームに正しく入力されなかったことです。ただし、DIDが機能したのは次のとおりです。

<select class="form-control" data-ng-model="form.PrimaryProtocolId" data-ng-options="protocol.ProtocolId as primaryDisplayName(protocol) for protocol in primaryprotocols" required />

primaryDisplayName()必要な形式を提供する $scope のメソッドはどこにありますか:

$scope.primaryProtocolName = function(protocol) {
    return protocol.Name + " (" + protocol.ProtocolType.Name + ")";
};
于 2013-10-14T18:00:18.070 に答える