2014-12-23 1 views
5

Вопрос:как установить значение по умолчанию для угловых Ui-выберите

как установить значение по умолчанию для углового UI-выберите

выпадающие значения выбираются из объекта и объекта обыкновение быть, имеющий значение по умолчанию стоимость.

и ui-select должны установить значение по умолчанию в Frontend.

например:

выпадающих значений являются

1 -вса фрукты 2 -Apple 3 -banana 4 -вода дыни

значение от 2 до 4 производятся от объекта, отправленного с сервера.but Frontend необходимо установить значение по умолчанию, т.е. 1 - все фрукты

Ссылаясь на приведенный ниже пример с помощью ui-select2, как перенести это в 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 Ссылка: угловая-щ/щ-выберите

+1

вы можете установить значение по умолчанию/начальное значение в вашем контроллере – harishr

+2

ng-init установит значение по умолчанию: https://docs.angularjs.org/api/ng/directive/ngInit – chapman84

ответ

2

вы не использовали идентификатор или что-то подобное для значения параметра так щ-выбора сравнивает адрес объекта, чтобы понять, если он выбран.

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 } 
    ]; 

изменить плункер как это, и у вас будет выбранное по умолчанию значение.

установить значение по умолчанию на окне вы можете использовать нг-инициализации и установить первый объект, как выбран

+1

также мы можем установить $ scope.person .selected = p1; – praveenpds

+0

Я не понял, что вы пытаетесь сказать? – bahadir

+0

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

0

я нашел этот рабочий пример: http://jsfiddle.net/NfPcH/28/

Угловой код:

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

контроллер:

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

Привет, Aqib, попробуйте включить фрагмент кода в свой ответ –

+0

Stackoverflow создает проблемы при установке url –

+1

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

0

В контроллере добавьте следующее c ode:

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

Приведенное выше значение по умолчанию будет выбрано при выпадающем списке.

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

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