Hé, j'ai un problème avec la valeur par défaut définie dans le problème de sélection lorsque je définis des objets de tableau à l'intérieur. Comment puis-je résoudre ce problème?
HTML
<div ng-app="select" ng-controller="checking">
<select ng-model="lala" ng-options="item.name for item in arrayName">
</select>
</div>
JavaScript
var app = angular.module('select', []);
app.controller('checking', ($scope)=> {
$scope.arrayName = [{'name':'first'}, {'name':'second'}, {'name':'third'}];
$scope.lala = "first";
});
https://codepen.io/Turqus/pen/EbvGzv?editors=1111
4 réponses
Il vous suffit de modifier votre ng-options
pour inclure un select as
<select ng-model="lala" ng-options="item.name as item.name for item in arrayName">
var app = angular.module('select', []);
app.controller('checking', function($scope) {
$scope.arrayName = [{
'name': 'first'
}, {
'name': 'second'
}, {
'name': 'third'
}];
$scope.lala = 'first';
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="select" ng-controller="checking">
<select ng-model="lala" ng-options="item.name as item.name for item in arrayName"></select>
<p>Value of lala: <b>{{lala}}</b></p>
</div>
Vous pouvez essayer ci-dessous l'exemple vous devez changer le bit de tableau
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<select ng-model="prop.value" ng-options="v for v in prop.values">
</select>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope)
{
$scope.prop =
{
"type": "select",
"name": "Service",
"value": "first",
"values": ['first','second','third']
};
});
</script>
Je pense que vous avez juste besoin d'assigner le ng-model comme ça.
$scope.lala = $scope.arrayName[0];
Voici votre lien de codepen
Eh bien, vous pouvez y parvenir en utilisant ng-init
comme ci-dessous
<div ng-app="select" ng-controller="checking">
<select ng-init="lala = arrayName[0]" ng-model="lala" ng-options="item.name for item in arrayName" >
</select>
</div>
<script>
var app = angular.module('select', []);
app.controller('checking', ($scope)=> {
$scope.arrayName = [{'name':'first'}, {'name':'second'}, {'name':'third'}];
$scope.lala = "first";
});
<script>
Voici l'exemple de codepen et j'espère qu'il vous aidera.
Questions connexes
De nouvelles questions
angularjs
À utiliser pour les questions sur AngularJS (1.x), le framework JavaScript open-source. N'utilisez PAS cette balise pour Angular 2 ou versions ultérieures; utilisez plutôt la balise [angular].