2016-08-13 2 views
0

Я пытаюсь определить, когда я выберу вариант из выпадающего списка выбранных локаторов AngularJS.AngularJS - Выбранная локализация ng-change не работает

Вот код для выпадающего списка:

<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: Невозможно установить p «не выбран»

Как это решить?

Большое спасибо.

ответ

-1

Я последовал совету и использовать нг-параметры MrJSingh, но проблема все еще произошло.

я добавил тогда пустой и, наконец, работал

<select chosen data-placeholder="Buscar..." 
    ng-model = "medSearch" 
    ng-change = "changeMedSearch(medSearch)" 
    ng-options = "size as size for size in medSearchTypes"> 
    <option></option> 
</select> 
+0

. Я не понимаю, зачем вам нужен пустой тег параметра? можете ли вы опубликовать свой рабочий код? –

-1

Попробуйте вместо этого использовать 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>

+0

Все та же ошибка, если я забрать выбранную директиву он работает, но мне нужно, чтобы это было с директивой –

+0

аха, то есть другой подход для этого, вы можете использовать $ scope. $ watch –

+0

@FerVargas [взгляните на этот ответ] (http://stackoverflow.com/questions/24754005/how-to-implement-an-ng-change-for- a-custom-directive) –

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

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