2014-12-23 23 views
5

Pytanie:jak ustawić domyślną wartość kątową ui-select

jak ustawić domyślną wartość kątową UI-wybierz

rozwijanego wartości są pobierane z obiektu, a obiekt przyzwyczajenie się mieć domyślną wartość.

i ui-select powinny ustawić domyślną wartość w Frontend.

np

rozwijane są następujące wartości

1 -wszystkie owoce 2 -apple 3 -banana 4 -woda melon

wartość od 2 do 4 pochodzą z obiektu wysłanego z serwera.Ale Frontend musi ustawić domyślną wartość, tj. 1 - wszystkie owoce

Odnosząc się do poniższego przykładu, ustaw za pomocą ui-select2, jak przeprowadzić migrację w ui-select?

<select ng-model="fID" class="select" ui-select2 data-placeholder="select fruit"> 
      <option value="">All fruits</option> 
      <option ng-repeat="f in frits value="{{f.fID}}">{{f.name}}</option> 
     </select> 

<ui-select theme="select2" ng-model="fruits.selected"> 
      <ui-select-match placeholder="select please" allow-clear="false">     {{$select.selected.name}} 
</ui-select-match> 
      <ui-select-choices repeat="f in fruits | filter:$select.search"> 
       <div ng-bind-html="f.name | highlight: $select.search:'underline'"></div> 
      </ui-select-choices> 
     </ui-select> 

http://plnkr.co/edit/a3KlK8dKH3wwiiksDSn2?p=preview https://github.com/angular-ui/ui-select Link: kanciasty-ui/ui-select

+1

możesz ustawić domyślną/początkową wartość w kontrolerze – harishr

+2

ng-init ustawi domyślną wartość: https://docs.angularjs.org/api/ng/directive/ngInit – chapman84

Odpowiedz

2

zrobił użyć identyfikatora lub coś w tym stylu do wartości opcji tak ui-select porównuje adres obiektu, aby zrozumieć, jeśli jest zaznaczone.

var p1 = { name: 'Adam',  email: '[email protected]',  age: 10 }; 
    $scope.person = {selected: p1}; 
    $scope.people = [ 
    p1, 
    { name: 'Amalie', email: '[email protected]', age: 12 }, 
    { name: 'Wladimir', email: '[email protected]', age: 30 }, 
    { name: 'Samantha', email: '[email protected]', age: 31 }, 
    { name: 'Estefanía', email: 'estefaní[email protected]', age: 16 }, 
    { name: 'Natasha', email: '[email protected]', age: 54 }, 
    { name: 'Nicole', email: '[email protected]', age: 43 }, 
    { name: 'Adrian', email: '[email protected]', age: 21 } 
    ]; 

Zmień tak, jak ten plunker, a otrzymasz domyślną wybraną wartość.

ustawić wartość domyślną na widoku można wykorzystać ng-startowych i zestaw pierwszej przedmiot wybrany

+1

możemy również ustawić $ scope.person .selected = p1; – praveenpds

+0

Nie rozumiem, co próbujesz powiedzieć? – bahadir

+0

Ja też tego nie zrozumiałem, pokazałeś tylko, co masz robić na zapleczu, ale nie to, co należy zrobić z samą dyrektywą. – user3718908

0

znalazłem ten przykład robocza: http://jsfiddle.net/NfPcH/28/

kod kątowa:

<a href="#" editable-select="user.status" e-ng-options="s.value as s.text for s in statuses"> 
    {{ showStatus() }} 
    </a> 

Kontroler:

app.controller('Ctrl', function($scope, $filter) { 
    $scope.user = { 
    status: 2 
    }; 

    $scope.statuses = [ 
    {value: 1, text: 'status1'}, 
    {value: 2, text: 'status2'}, 
    {value: 3, text: 'status3'}, 
    {value: 4, text: 'status4'} 
    ]; 

    $scope.showStatus = function() { 
    var selected = $filter('filter')($scope.statuses, {value: $scope.user.status}); 
    return ($scope.user.status && selected.length) ? selected[0].text : 'Not set'; 
    }; 
}); 
+0

Cześć Aqib, spróbuj podać fragment kodu do swojej odpowiedzi –

+0

Stackoverflow tworzy kłopoty podczas dołączania adresu URL –

+1

Tak to jest w przypadku jeśli podasz link z linią, możesz teraz zaktualizować swój link w odpowiedni sposób –

0

W kontrolerze dodać następujące c Od:

$scope.fruits.selected = {name: 'All fruits'}; 

Powyższe ustawi domyślną wybraną wartość na liście rozwijanej.

Powiązane problemy