Я пытаюсь определить, когда я выберу вариант из выпадающего списка выбранных локалей AngularJS.
Вот код для выпадающего списка:
<select chosen data-placeholder="Buscar..."
class="w-100"
ng-model = "medSearchType"
ng-change = "changeMedSearch(medSearchType)">
<option value="Medicamento">Medicamento</option>
<option value="Componente">Componentes Activos</option>
</select>
И в моем контроллере у меня есть следующая функция:
$scope.changeMedSearch = function (searchType) {
console.log(searchType);
}
Он работает нормально в первый раз, но если я хочу выбрать другую опцию в консоли, я получаю следующую ошибку, и в раскрывающемся списке не будет выбран другой параметр, который я хочу выбрать:
Uncaught TypeError: Невозможно установить свойство "selected" из неопределенного
Как я могу это решить?
Большое спасибо.
Я следовал совету MrJSingh и использовал ng-options, но проблема все же произошла.
Я добавил потом пустой, и он, наконец, работал
<select chosen data-placeholder="Buscar..."
ng-model = "medSearch"
ng-change = "changeMedSearch(medSearch)"
ng-options = "size as size for size in medSearchTypes">
<option></option>
</select>
Вместо этого попробуйте использовать ng-options.
angular.module("app",[]).controller("ctrl",function($scope){
$scope.items = [1,2,3,4,5,6]
$scope.changeMedSearch = function(medSearchType){
alert(medSearchType)
}
})
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
</head>
<body ng-app="app" ng-controller="ctrl">
<select ng-model = "medSearchType"
ng-change = "changeMedSearch(medSearchType)" ng-options="size as size for size in items"
ng-model="item" ng-change="update()"></select>
</body>
</html>