そこで、単純な自動入力フォーム フィールドの必要性から始めました。ユーザーがドロップダウン メニュー項目を選択すると、別のフィールドが自動的に入力されます。ここで、別のフィールドに自動入力する必要があります。今回は、前の選択ごとに 2 つの選択肢を持つ別の選択リストです。
これがどのように機能するかです:
選択されたソース システム - 値が事前入力された他のソース システム。私はこの方法を使用してこれを行いました:
HTML:
<form name="intakeform">
<div class="form-group">
<label for="sourceSystem">Source System</label>
<select class="form-control" ng-model="system" ng-options="s.name for s in systems" >
<option value="">Select Source System</option>
</select>
</div>
<div class="form-group">
<label for="otherSystem">Other Source System Indentifiers</label>
<input type="text" ng-model="system.ossi" class="form-control" placeholder="Other Source System Indentifiers">
</div>
</form>
app.js コントローラー:
routerApp.controller('IntakeController', function($scope, $timeout){
$scope.systems = [{
name: 'Cosmos',
ossi: 'Cosmos DIV',
},
{
name: 'UNET',
ossi: 'ADJ and ENG',
},
];
});
これにより、良好な 1 対 1 の関係が可能になりました。1 つのシステムを選択すると、もう 1 つのシステムが自動的に選択されました。ここで、ソース システムの選択に基づいて別の選択リストを作成する必要があります。これは、ソース システムごとに 2 つの項目の選択リストを作成することを意味し、結果として 2:1 の関係になります。
それでは、Angularでこれを行うにはどうすればよいですか? ng-show、ng-hide を試しましたが、現在の設定で ng-options を使用してこれを実行できるかどうかわかりません。これは静的リストであり、それが役立つ場合は動的ではありません。1 つのアイテムが別のリストで選択された後に 1 つのリストが表示される例はたくさんありますが、最初の選択に依存するドロップダウン リストに複数のアイテムが含まれている例を見つけることができないようです。
どんな助けでも大歓迎です
P