Wie

2016-04-23 7 views
0
Itemwert

i Liste in meiner HTML-Seite erstellen lassen ausgewählt:Wie

<label class="item item-input"> 
<span class="input-label">Select date</span> 
<select ng-model="search.dateOption" ng-options="opt as opt.label for opt in options"> 
</select> 
</label> 

In meinem Controller definiert i Optionen:

$scope.options = [ 
    { label: 'Today'}, 
    { label: 'This week'}, 
    { label: 'This month'}, 
    { label:'Other'} 
] 

ich die folgende Funktion verwenden, um das ausgewählte Element zu erhalten:

$scope.selectedDate = function(){ 
$scope.search={} 
console.log($scope.search) 
} 

ich undefined in meiner Konsole.

Antwort

1

versuchen Sie es so.

var editer = angular.module('editer', []); 
 
function myCtrl($scope) { 
 

 
    $scope.options = [ 
 
    { label: 'Today'}, 
 
    { label: 'This week'}, 
 
    { label: 'This month'}, 
 
    { label:'Other'} 
 
]; 
 
    
 
    $scope.selectedDate = function(){ 
 
    console.log($scope.search) 
 
} 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="editer" ng-controller="myCtrl" class="container"> 
 

 
<label class="item item-input"> 
 
<span class="input-label">Select date</span> 
 
<select ng-model="search.dateOption" ng-options="opt as opt.label for opt in options" ng-change="selectedDate()"> 
 
</select> 
 
</label> 
 
    
 
    <pre>{{search | json}}</pre> 
 
</div>

+0

Vielen Dank für Ihre Antwort-Objekte. Es funktioniert hier, aber in meinem Projekt funktioniert nicht. Könnte coz von meinem angularjs Version sein. Verwenden 1.5.5 –

+0

Nr. Was Anzeige in der Konsole ?? –

+0

wird nichts in der Konsole nur "undefined" angezeigt. Aber '

{{search | json}}
' funktioniert gut –

1

Es ist besser, eine ID für Ihre Drop-Down-Liste

haben

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

 
function myCtrl($scope) { 
 

 
    $scope.dateOption = null; 
 
    $scope.options = [{ 
 
    id: 1, 
 
    label: 'Today' 
 
    }, { 
 
    id: 2, 
 
    label: 'This week' 
 
    }, { 
 
    id: 3, 
 
    label: 'This month' 
 
    }, { 
 
    id: 4, 
 
    label: 'Other' 
 
    }]; 
 

 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="editer" ng-controller="myCtrl" class="container"> 
 

 
    <label class="item item-input"> 
 
    <span class="input-label">Select date</span> 
 
    <select ng-model="dateOption" ng-options="opt as opt.label for opt in options"> 
 
    </select> 
 
    </label> 
 

 
    <pre>{{dateOption}}</pre> 
 
</div>

+0

danke dir für deine antwort Aber wie komme ich der Wert von dateOption von meinem Controller? –

+0

Sie können $ scope.dateOption = null setzen; –