Показать сообщение отдельно
  #1 (permalink)  
Старый 10.06.2012, 18:05
Новичок на форуме
Отправить личное сообщение для Евгений7 Посмотреть профиль Найти все сообщения от Евгений7
 
Регистрация: 10.06.2012
Сообщений: 9

Сортировка массива
Приветик всем. Извиняюсь если пишу не в тот форум, у меня следующая проблема. Создаю запрос с помощью AJAX, получаю данные из базы и вывожу их в динамическом селекте. Сортировка из базы идёт по возрастанию значения, например "id=1 value= А", "id=2 value= C" "id=3 value= D" "id=4 value=B". Это данные в БД (есть поле id и поле value). При выборке из базы конечно же написано ORDER BY 'value'. Мне надо вывести значения в селекте по возрастанию (точнее вместо букв могут быть слова, но всё равно сортировка нужна по алфавиту). Итак что я имею: данные в базе, указанные выше и код:
for(var idx in selects){
            var opts = new Array();
            for(i in selects[idx].opts){
                opts[i]=selects[idx].opts[i];
//console.log(opts[i]); 
//Здесь данные приходят отсортированные по возрастанию значения (по алфавиту, либо по цифрам, но не по id, т.е. всё верно)
            }
//console.log(opts);
// а вот в opts значения уже отсортированы по id, т.е. при переборе массива данные идут в правильном порядке, а после полного создания массива отсортированы по id.

В итоге при создании селекта значения выводятся в таком порядке: A, C, D, B. Нужно сделать так: A, B, C, D.
В selects пришедшие данные в JSON. Как сделать так, чтобы массив был сформирован не по id а по значениям?
Есть советы?
Ответить с цитированием