Невозможно упорядочить значение выпадающего списка в алфавитном порядке с помощью Angular.js

#javascript #angularjs

#javascript #angularjs

Вопрос:

Выпадающий список не может быть упорядочен в алфавитном порядке с помощью Angular.js . Вот мой код:

 <div class="input-group bmargindiv1 col-md-12">
<span class="input-group-addon ndrftextwidth text-right" style="width:180px">Business Name :</span>
<select class="form-control"  id="restau" ng-model="restaurant" ng-options="qua.name for qua in listOfRestaurant | orderBy:'name' track by qua.value" ng-change="getDayFromSpecial('restau');">
 </select>
</div> 

$scope.listOfRestaurant=[{
        name:'Select Business Name',
        value:''
}]
$scope.restaurant=$scope.listOfRestaurant[0];

$http({
        method:'GET',
        url:"php/customerInfo.php?action=restaurant",
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    }).then(function successCallback(response){
        angular.forEach(response.data,function(obj){
            var data={'name':obj.rest_name,'value':obj.member_id};
            $scope.listOfRestaurant.push(data);
        })
    },function errorCallback(response) {
    })
  

Здесь моя проблема в том, что я могу упорядочить список, но Select Business Name он находится в середине этого списка, который должен быть только первым и выбранным.

Комментарии:

1. опубликуйте загружаемый json

2. @Sajeetharan: все значения json поступают из базы данных. Я снова обновляю свой пост.

3. Я полагаю, вы добавляете select к своему $scope.listOfRestaurant массиву? Если это так, Select Business Name сначала добавьте параметр, а затем добавьте остальные

4. можете ли вы, пожалуйста, опубликовать plunkr или что-то еще.

5. @DarrenSweeney: я добавляю Select Business Name для 0-го индекса. Проверьте.

Ответ №1:

вы можете написать так.

 <select name="quarter" ng-model="Quarter" 
        ng-options="obj.value as obj for obj in options | orderBy:'toString()'">
        <option value="" >Select Business Name</option>
</select>
  

не помещайте выбранное вами название компании в список данных.

Комментарии:

1. но я не могу получить это значение $scope.Quarter.value . его ошибка.

2. привет, Сатья, я создал fiddle для вас, просто проверьте, надеюсь, это вам поможет. jsfiddle.net/upj8n47m/1

Ответ №2:

Используя orderBy:'toString()' with ng-repeat, вы можете отсортировать значение списка alphabetically с помощью angular.js

Пример :

 <select name="quarter" ng-model="Quarter" 
        ng-options="obj.value as obj for obj in options | orderBy:'toString()'">

</select>
  

Проверьте этот jsfiddle

Комментарии:

1. @ p2: я могу использовать правильно, но текст с 0-м индексом появляется 2 раза. Пожалуйста, проверьте мой пост еще раз.

2. @satya: если вы можете показать какой-нибудь пример response , это действительно помогло бы мне