JS select сортировка

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

JS select сортировка

Непрочитанное сообщение schizoid » 2010-09-01 11:12:04

Народ, есть некий php-код, в нем есть вкрапления JS (динамические списки), честно мной стыренные, ибо в JS я не шарю.
вот показываю кусок исходного кода:

Код: Выделить всё

<tr><td>Наименование устройства</td><td><!-- Подчиненный список 1 (изначально пуст) -->
<select size="1" id="descrId" name='descr1'></select>

<script type="text/javascript">
// Создаем новый объект связанных списков
var syncList1 = new syncList;

// Определяем значения подчиненных списков (2 и 3 селектов)
syncList1.dataList = {

/* Определяем элементы второго списка в зависимости 
от выбранного значения в первом списке */

	'33':{
},
	'26':{

		  '11':'Sharp AR 5316',
		  
		  '13':'Сanon  FC 208',
		  },
	'9':{
},
	'2':{
},
	'10':{

		  '9':'Brother DCP 7010',
		  
		  '5':'Canon LaserBase MF3110',
		  
		  '24':'Canon MF 4018',
		  
		  '35':'HP 2727nfs',
		  
		  '3':'HP 3052',
		  
		  '12':'HP 3052',
		  
		  '20':'HP LJ M4345MFP',
		  
		  '21':'Konica Minolta PagePro 1380MF',
		  
		  '25':'Samsung 4100',
		  
		  '27':'Samsung 4220',
		  
		  '37':'Samsung SCX-4216F',
		  
		  '22':'Sharp AR-M236',
		  
		  '14':'Xerox Phaser 3100 MFP',
		  },
	'5':{
},
	'31':{
},
	'12':{
},
	'14':{
},
	'20':{
},
	'7':{

		  '30':'Brother HL 2149R',
		  
		  '31':'Brother HL-20',
		  
		  '10':'Canon 2900',
		  
		  '17':'Canon 2900',
		  
		  '7':'Canon LBP 1120',
		  
		  '4':'Canon LBP 810',
		  
		  '23':'Canon MF4018',
		  
		  '32':'Canon MF4120',
		  
		  '38':'Epson FX-2190',
		  
		  '34':'HP 3392',
		  
		  '33':'HP LaserJet 1200',
		  
		  '26':'HP M1120',
		  
		  '36':'HP P2035',
		  
		  '2':'Samsung CLP-310',
		  
		  '8':'Samsung ML 1210',
		  
		  '28':'Samsung ML-2250',
		  
		  '18':'Samsung ML-2251',
		  
		  '29':'Samsung SCX-4100',
		  
		  '19':'Samsung SCX-4300 Black',
		  
		  '15':'Xerox Phaser 3116',
		  },
	'23':{

		  '39':'System Block',
		  },
	'21':{
},};

// Включаем синхронизацию связанных списков
syncList1.sync("typeId","descrId");
</script>
<p style='margin: 2px; margin-left: 0px;'>
<input name='descr2' type='text' style='width: 343px;'></p>
</td></tr>
суть вопроса:
прикол в том, что в браузере при открытии выпадающего списка этот список сортируется по первому полю, т.е. первым в списке будет '2':'Samsung CLP-310', затем '4':'Canon LBP 810', и т.д. Возможно ли сделать сортировку по второму полю, так сказать что б кучненько было, Кеноны, так все вместе, Самсунги так тоже в кучке...
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: JS select сортировка

Непрочитанное сообщение BlackCat » 2010-09-02 8:39:26

schizoid писал(а):прикол в том, что в браузере при открытии выпадающего списка этот список сортируется по первому полю, т.е. первым в списке будет '2':'Samsung CLP-310', затем '4':'Canon LBP 810', и т.д.
В коде библиотеки сортировки нет, остаются особенности работы браузера. Opera и FireFox показывают список в том порядке, в котором элементы были перечислены. В каком браузере вы проверяли?

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: JS select сортировка

Непрочитанное сообщение schizoid » 2010-09-02 9:45:40

в опере. в том то и дело, что перечислены они по-порядку (сортировка средствами sql)
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: JS select сортировка

Непрочитанное сообщение schizoid » 2010-09-02 9:55:56

плин. проверил в IE - там все в порядке.
вопрос снимается. снкс.
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: JS select сортировка

Непрочитанное сообщение BlackCat » 2010-09-02 10:13:27

schizoid писал(а):плин. проверил в IE - там все в порядке.
вопрос снимается. снкс.
У меня в IE вообще не заработало, но это наверно я что-то не так собрал.
=====
А что это такое интересное будет?

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: JS select сортировка

Непрочитанное сообщение schizoid » 2010-09-02 12:35:30

та ничего особенного...вот статья
http://www.tigir.com/javascript_select.htm
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: JS select сортировка

Непрочитанное сообщение BlackCat » 2010-09-02 12:46:07

schizoid писал(а):та ничего особенного...вот статья
http://www.tigir.com/javascript_select.htm
Статью уже видет. Нашёл вчера, когда искал используемую вами JS-библиотеку. Было интересно, что вы пишете. Подумал, что это какой-то веб-интерфейс для Active Directory или что-то в этом роде.

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: JS select сортировка

Непрочитанное сообщение schizoid » 2010-09-02 15:23:03

нет, все намного прозаичнее, это внутренний сайтег для приема принтеров и т.д. в ремонт :)
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: JS select сортировка

Непрочитанное сообщение ProFTP » 2010-09-03 0:03:57

еще на опере 9 и 10 по разному. нужно руками править под конкретно под этот браузер

тут нужно перебрать ключи хеша (объекта) syncList1.dataList = { , чтобы получить доступ к значению

Код: Выделить всё

for(var k in syncList1.dataList)
{
        // Здесь мы можем сделать что-нибудь с переменной syncList1.dataList[k]
        // В ней содержится значение хэша syncList1.dataList с ключем k
}

значнеие может быть как скаляр и как еще один хеш, возможно тут понадобится typeof для опрделения типа данных...

Код: Выделить всё

if (typeof(d) == "object") { 

в принципе реализуемо перебрать, но геморой на javascript (Jquery) бывает иногда :)


http://www.google.com.ua/search?hl=uk&c ... =&gs_rfai=
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: JS select сортировка

Непрочитанное сообщение schizoid » 2010-09-06 10:52:01

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