2017-11-09 4 views
0

私は3つのドロップダウンリストを順番に並べなければなりません。HtmlとAngularJS

<select ng-model="vm.filter.location"> 
    <option value="Andhra Pradesh" ng-if="vm.isDistrict && !vm.isMandal && !vm.isVillage">All Districts</option> 
    <option ng-repeat="location in vm.geoGraphList" value="{{location}}" ng-if="vm.isDistrict && !vm.isMandal && !vm.isVillage">{{ location }}</option> 
    <option ng-if="vm.isMandal && !vm.isVillage && !vm.isDistrict" selected disabled>All Mandals</option> 
    <option ng-repeat="location in vm.mandalList" value="{{location}}" ng-if="vm.isMandal && !vm.isVillage && !vm.isDistrict">{{ location }}</option> 
    <option ng-if="vm.isVillage && !vm.isMandal && !vm.isDistrict" selected disabled>All Villages</option> 
    <option ng-repeat="location in vm.villageList" value="{{location}}" ng-if="vm.isVillage && !vm.isMandal && !vm.isDistrict">{{ location }}</option> 
</select> 

最初のリストは、私が地区を選択し、[送信]をクリックした場合、私はmandalsのリストを取得していますし、マーンダルを選択する上で、私は村のリストを取得していている地区のリストが含まれています。

最初のリストでは、 "ALL DISTRICTS"としてデフォルトのオプションを取得していますが、他のリストではデフォルトのオプションを取得できません。 タグに「selected disabled」を追加しました。 少しの助けをいただければ幸いですか?

+0

をカスケード接続することができます参照してください。 <オプション値= "アンドラ・プラデシュ" NG-IF = "vm.isDistrict &&!vm.isMandal &&!vm.isVillage"> <= "vm.filter.location" を選択NG-モデル>すべての地区 < vm.isMandal &&!vm.isVillage "> {{location}} –

+2

あなたができるのは、ng-repeat =" vm.geoGraphListの場所 "value =" {{location}} "ng-if =" vm.isDistrict &&! 'multiple'属性を設定しない限り、' option'を一つだけ選択してください。あなたは3つの '選択 'ボックスにそれらを分割したいと思うように見えます。 – giorgio

答えて

0

disabledタグを削除する必要があります。選択メニューでは、無効になっているオプションは選択されません。これは、ブラウザが使用できないと考えているため、選択できません。 ng-disabledを使用して、オプションの有効化/無効化を行うことができます。

<select ng-model="vm.filter.location"> 
    <option value="Andhra Pradesh" ng-if="vm.isDistrict && !vm.isMandal && !vm.isVillage">All Districts</option> 
    <option ng-repeat="location in vm.geoGraphList" value="{{location}}" ng-if="vm.isDistrict && !vm.isMandal && !vm.isVillage">{{ location }}</option> 
    <option ng-if="vm.isMandal && !vm.isVillage && !vm.isDistrict" selected ng-disabled="vm.isVillage || vm.isDistrict">All Mandals</option> 
    <option ng-repeat="location in vm.mandalList" value="{{location}}" ng-if="vm.isMandal && !vm.isVillage && !vm.isDistrict">{{ location }}</option> 
    <option ng-if="vm.isVillage && !vm.isMandal && !vm.isDistrict" selected ng-disabled="vm.isMandal || vm.isDistrict">All Villages</option> 
    <option ng-repeat="location in vm.villageList" value="{{location}}" ng-if="vm.isVillage && !vm.isMandal && !vm.isDistrict">{{ location }}</option> 
</select> 

さもないと、あなたは、コントローラ 以内にそれを管理することができますか、このリストの先頭にあるドロップダウンデモ http://www.advancesharp.com/blog/1189/angularjs-cascading-dropdown-select-with-demo

関連する問題