2015-02-19 2 views
0

Был попыткой заставить это работать в течение дня и, наконец, захотелось опубликовать здесь и посмотреть, кто-нибудь уже решил это. У меня есть группа флажков, и я хочу изменить раскрывающийся список, который будет заполнен тем, что было CHECKED в флажке.AngularJS каскадный выбор для выбора выпадающего списка

Так что, если пользователь выбирает английский и испанский языки, я хочу, чтобы выпадающий список показывал только те 2 варианта.

В любом случае, чтобы сделать это на странице? Я думаю, что это фильтр, но не уверен, что это должно быть. Благодаря!

$scope.languages = [ 
     {value: "en", name: "English"}, 
     {value: "es", name: "Spanish"}, 
     {value: "zh", name: "Chinese"}, 
     {value: "fr", name: "French"}, 
     {value: "de", name: "German"}, 
     {value: "jp", name: "Japanese"} 
    ]; 

    $scope.settings.custom.languages = [{Spanish: 1, English: 1, French: false, Chinese: false, Japanese: false}]; 

    <label ng-repeat="language in languages" style="width:100px"> 
    <input type="checkbox" ng-true-value="1" ng model="settings.custom.languages[language.name]" />{{language.name}} 
    </label> 

    <select 
    class="form-control" 
    ng-model="settings.custom.primaryLanguage" 
    ng-options="language.name for language in languages track by language.value"> 
    </select> 

ответ

0
I decided to just do this: 

$scope.settings.custom.languages = [ 
    {value: "en", name: "English"}, 
    {value: "es", name: "Spanish"}, 
    {value: "zh", name: "Chinese"}, 
    {value: "fr", name: "French"}, 
    {value: "de", name: "German"}, 
    {value: "jp", name: "Japanese"} 
]; 

<label ng-repeat="(languageKey, language) in settings.custom.languages"> 
<input type="checkbox" ng-true-value="1" ng-model="language['enabled']" /> {{language.name}} 
</label> 

<select 
class="form-control" 
ng-model="settings.custom.defaultLanguage" 
ng-options="language.name for language in settings.custom.languages | filter:{enabled:'1'} track by language.value"> 
</select> 
Смежные вопросы