私は簡単に処理できない問題があります。2つのドロップダウンでAngularjsの値をフィルタリングする
私はドロップダウン用のデータを持っており、そのドロップダウンで選択されている値によっては、2番目のドロップダウンでデータを変更したい場合は、最初のドロップダウンが選択されるまで非表示にします。
Atm、私は最初のコントローラを選ぶことができますが、2つのドロップダウンを接続する方法はありません。
ご協力いただきますようお願い申し上げます。事前にありがとう
新しいテストサービス
export default class newtest {
constructor($http){
'ngInject';
this._$http = $http;
let testData = this;
this.options = {
releases: [
{value: 1, name: 'R1', environments : ['R1-QA1', 'R1-QA2']},
{value: 2, name: 'R2', environments : ['R2-QA1', 'R2-QA2']},
{value: 3, name: 'R3', environments : ['R3-QA1', 'R3-QA2']}
],
environments : [
['R1-QA1', 'R1-QA2'],
['R2-QA1', 'R2-QA2'],
['R3-QA1', 'R3-QA2']
]
};
}
}
新しいテストコントローラ
class NewTestCtrl {
constructor(NewTest, $state, $http) {
'ngInject';
this._NewTest = NewTest;
this.options = this._NewTest.options;
this.releaseValues = this.options.releases.name;
this.envValues = [];
}
HTML
<fieldset>
<select ng-model="release" ng-options="release.name for release in $ctrl.options.releases">
<option value="" disabled selected>Select</option>
<option value="value">{{name}}</option>
</select>
</fieldset>
<fieldset>
<select ng-model="release" ng-options="env for environments in $ctrl.options.environments">
<option value="" disabled selected>Select</option>
<option value="env">{{env}}</option>
</select>
</fieldset>
ねえジムは、返信用のおかげで、私は$ ctrl.options.releases [リリース] .environmentsを得るいけない、リリースの周りのブラケットは、彼らがやっていると仮定何ですか? –
ユーザが選択したリリース配列内の要素を選択します。最初のselectのng-model = "release"は、選択された要素の値をreleaseという名前の変数に置きます。次に、この変数を使用して、対応する子環境配列を選択できます。 –
そのコンセプトは素晴らしいですが、動作させることができないようです。私は2番目のドロップダウンをこれまでに変更しました>
–