#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
, это действительно помогло бы мне