2015-09-24 3 views
0

У меня есть выпадающий список. Первый выпадающего является:angularjs для выпадающего списка

<select ng-model="vm.eesAdminSetupData.Type" 
class="form-control" 
id="Type" 
name="Type" 
required> 
<option value="Form">Form</option> 
<option value="List">List</option></select> 

<select ng-model="vm.eesAdminSetupData.SettingID" 
class="form-control" 
id="SettingID" 
name="SettingID" 
ng-options="option.SettingID as option.SettingID + ' - ' + option.Name for option in vm.eesSettingIdOptions" > 
<option ></option> 
</select> 

То, что я хочу сделать, это после того, как я выбираю список, другие выпадающие должны иметь значение пустого или нуля. Это возможно?

+0

<выберите нг-модель = «vm.eesAdminSetupData.Type» класса = «форма-контроль» ID = "Тип" имя = "Тип" требуется > <параметр значение = "Форма"> Форма <параметр значение = "Список"> Список – Roel

+0

Пожалуйста, добавьте хотя бы ваш текущий HTML-код для избранных. –

+0

Первое: <выбрать нг-модель = "vm.eesAdminSetupData.Type" класс = "форма контроля" ID = "Тип" имя = "Тип" требуется > значение <опция = "Форма" > форма <параметр значение = "Список"> Список – Roel

ответ

0

Просто добавьте ng-show к вашему второму <select>, так что он отображается только в том случае, если Список выбран.

<select ng-model="vm.eesAdminSetupData.Type" 
    class="form-control" 
    id="Type" 
    name="Type" 
    required> 
    <option value="Form">Form</option> 
    <option value="List">List</option> 
</select> 

<select 
    ng-show="vm.eesAdminSetupData.Type == 'List'" 
    ng-model="vm.eesAdminSetupData.SettingID" 
    class="form-control" 
    id="SettingID" 
    name="SettingID" 
    ng-options="option.SettingID as option.SettingID + ' - ' + option.Name for option in vm.eesSettingIdOptions"> 
    <option></option> 
</select> 
0

Попробуйте

<select ng-model="vm.eesAdminSetupData.Type" 
       class="form-control" 
       id="Type" 
       name="Type" 
       ng-change="changesettingsDropdown()" 
       required> 
       <option value="Form">Form</option> 
       <option value="List">List</option> 
       </select> 

       <select ng-model="SettingID" 
       class="form-control" 
       id="SettingID" 
       name="SettingID" 
       ng-options="option.SettingID as option.SettingID + ' - ' + option.Name for option in vm.eesSettingIdOptions" > 
       <option ></option> 
       </select> 

И контроллер

$scope.vm = {}; 
$scope.vm.eesSettingIdOptions = [{"SettingID":"1","Name":"aaaa"}, {"SettingID":"2","Name":"bbbb"}]; 
$scope.changesettingsDropdown = function(){ 
    if($scope.vm.eesAdminSetupData.Type == "List") { 
     $scope.SettingID = "0"; 
    } 
} 

Я добавил нг-изменение первого выбора элемента и измененные нг-модель другого выбора элемента

+0

Спасибо. Это сработает. :) – Roel

0

Написать ng-change атрибут в начале select список как

ng-change=resetOtherDropdown() 

в приведенной выше Java-функция просто сбросить значение нг-модель других выпадающего

resetOtherDropdown = function() { 
    $scope.vm.eesAdminSetupData.SettingID = ""; 
}