2017-02-22 23 views
-1

Я имею MULTISELECT ниспадающее меню, как показано нижекак установить значение по умолчанию в нескольких выберите выпадающий список угловой JS

<select id="year" multiple ng-model="type" ng-disabled="!type1" > 
    <option value="all" selected>all</option> 
    <option value='2012'>2012</option> 
    <option value='2013'>2013</option> 
    <option value='2014'>2014</option> 
    <option value='2015'>2015</option> 
    <option value='2016'>2016</option> 
    <option value='2017'>2017</option> 
    <option value='2018'>2018</option> 
    <option value='2019'>2019</option> 
</select> 

Я хочу, чтобы установить параметр «все» в качестве значения по умолчанию. Для этого я написал «выбранное» ключевое слово внутри тега опции, которое я хочу по умолчанию указывать в раскрывающемся списке, как вы можете видеть в приведенном выше коде. Но это не работает . Может кто-нибудь, пожалуйста, помогите мне, как я могу установить значение по умолчанию.

+1

Посмотрите на ngOptions https://docs.angularjs.org/api/ng/directive/ngOptions использовать угловой путь. – fubbe

+0

Можете ли вы разместить свой код контроллера тоже? –

+0

Не могли бы вы проверить, был ли [мой ответ] (http://stackoverflow.com/a/42396482/4927984) вашей проблемой? – Mistalis

ответ

1

Вы можете установить значение по умолчанию в своем контроллере. Помните, что значение multiselect - это массив, поэтому вам нужно будет установить $scope.type в массив. Вот рабочий пример:

angular.module('app', []) 
 
    .controller('ctrl', function($scope) { 
 
    $scope.type = ["all"]; 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
    <select id="year" multiple ng-model="type"> 
 
     <option value="all" selected>all</option> 
 
     <option value='2012'>2012</option> 
 
     <option value='2013'>2013</option> 
 
     <option value='2014'>2014</option> 
 
     <option value='2015'>2015</option> 
 
     <option value='2016'>2016</option> 
 
     <option value='2017'>2017</option> 
 
     <option value='2018'>2018</option> 
 
     <option value='2019'>2019</option> 
 
    </select> 
 
    <div> 
 
    {{type}} 
 
    </div> 
 
</div>

0

Угловой способ был бы использовать ng-options:

<select ng-model="type" ng-options="o for o in options"/> 

Где опции массив установлены в контроллере:

$scope.options = [2012, 2013, 2014, 2015, 2016, ...]; 

var myApp = angular.module('myApp', []); 
 

 
function MyCtrl($scope) { 
 
    $scope.options = [2011, 2012, 2013, 2014]; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="MyCtrl"> 
 
    <select ng-options="o for o in options" ng-model="type"> 
 
    <option value="">all</option> 
 
    </select> 
 
    <br>selected: {{type}} 
 
</div>

 Смежные вопросы

  • Нет связанных вопросов^_^