2015-04-08 20 views
11

ng seçenekleri nasıl kullanılır?ng-option ng-option (veya değer atamanın başka bir yolu) nasıl kullanılır?

$scope.fieldTable = [ 
    { 
     filed:"text", 
     title:"Global" 
    }, 
    { 
     field: "relatedentity", 
     title: "Entity" 
    }, 
    { 
     field:"title", 
     title:"Title" 
    }, 
    { 
     field: "content", 
     title: "Content" 
    } 
] 

ne zaman seçme şey görüntülendiği gibi başlığını kullanan bir ve inşa göre alanını görüntülemek bir uyarı penceresi popout istiyorum. İlk seçim

{ 
    filed:"text", 
    title:"Global" 
} 

Herhangi biri yardımcı olabilir mi?

cevap

20

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

 
app.controller('MainCtrl', function($scope) { 
 
    $scope.fieldTable = [{ 
 
    field: "text", 
 
    title: "Global" 
 
    }, { 
 
    field: "relatedentity", 
 
    title: "Entity" 
 
    }, { 
 
    field: "title", 
 
    title: "Title" 
 
    }, { 
 
    field: "content", 
 
    title: "Content" 
 
    }]; 
 

 
    $scope.selected = $scope.fieldTable[0]; 
 

 
    $scope.hasChanged = function() { 
 
alert($scope.selected.field); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<body ng-app="stack" ng-controller="MainCtrl"> 
 
    <select ng-options="item.title for item in fieldTable" ng-model="selected" ng-change="hasChanged()"> 
 
    </select> 
 
</body>

3

Sen bu sizin durumda :) yapmak istediğini yapabileceğiniz kumanda içinde onChange() yönteminde sonra

<select ng-options="item.title as item.title for item in fieldTable track by item.title" ng-model="selected" ng-change="onChanged()"> 

ile uyarı gösterme bunu ng-değişikliğini kullanabilirsiniz değeri

düzenleme: https://plnkr.co/edit/4csDtFVH5mKd7Xr39WtG?p=preview

+0

AFAICT bu işe yaramıyor – abhillman

+0

@abhillman öyle, plunkr ekledim – rmuller