powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / select меняет расположение строк
10 сообщений из 10, страница 1 из 1
select меняет расположение строк
    #39448726
vitalukalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть массив
Код: javascript
1.
2.
3.
[4401: "INTEGRA седан", 4402: "INTEGRA Наклонная задняя часть", 4403: "INTEGRA купе", 4404: "LEGEND", 4405: "LEGEND купе", 4406: "LEGEND II", 
4407: "LEGEND II купе", 4408: "LEGEND III", 4409: "NSX", 4410: "NSX тарга (NA1)", 6092: "MDX (YD1)", 6123: "RL", 6129: "RSX купе (DC_)", 
10059: "MDX (YD2)", 10305: "TSX (CU_)", 10306: "TL (UA8, UA9)", 10307: "RDX", 11379: "ZDX", 12814: "MDX (YD3)", 13181: "TLX"]


Он выводится в select
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
$model[0].selectize.clearOptions();
					
for (var ans in json) {
$model[0].selectize.addOption({value: json[ans], text: ans});
}			
					
$model[0].selectize.refreshOptions();
$model[0].selectize.enable();


Но выводится он не по порядку и не по индексу а произвольно. Причем в разных браузерах по разному. Может я вывожу не так?
...
Рейтинг: 0 / 0
select меняет расположение строк
    #39448733
vitalukalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. он то сортируется по value но в хроме вперед вылазит последний элемент. и вообще мне то надо по тексту сортировать.
...
Рейтинг: 0 / 0
select меняет расположение строк
    #39448745
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitalukalo,

.. вы используете цикл for..in ...

All browsers respect definition order with the exception of Chrome and Opera which do for every non-numerical property name. In these two browsers the properties are pulled in-order ahead of the first non-numerical property (this is has to do with how they implement arrays). The order is the same for Object.keys as well.
In short: Use an array if order is important to you.
...
Рейтинг: 0 / 0
select меняет расположение строк
    #39448768
vitalukalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carrotik,


Я пробовал $.each никакой разницы.
...
Рейтинг: 0 / 0
select меняет расположение строк
    #39448856
vitalukalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Переделал
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
var arr = Object.keys(json).map(function(key) {
return {idx:key, name:json[key]};
});
arr.sort(function(a,b){
if (a.name > b.name) {return 1;}
if (a.name < b.name) {return -1;}
return 0;});
//console.log(arr);
				
$.each(arr, function(index, val) {		
$model[0].selectize.addOption({value: val.idx, text: val.name});
console.log(val.name);//все по порядку выдается, а в селекте вообще безсмысленно сортиует
});


Ещё хуже стало
...
Рейтинг: 0 / 0
select меняет расположение строк
    #39448949
vitalukalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может в selectsize проблема?
...
Рейтинг: 0 / 0
select меняет расположение строк
    #39449009
vitalukalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо вопрос решил.
...
Рейтинг: 0 / 0
select меняет расположение строк
    #39449016
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitalukaloСпасибо вопрос решил.Можно огласить решение? В прошлом году нарывался тож на подобное, да там не критично было, не стал добивать до строгого упорядочения.
...
Рейтинг: 0 / 0
select меняет расположение строк
    #39449022
vitalukalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну у меня в selectize проблема была.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
//Во первых json выдает не сортированные данные, сортируем json
var arr = Object.keys(json).map(function(key) {
        return {idx:key, name:json[key]};
});

arr.sort(function(a,b){
        if (a.name > b.name) {return 1;}
        if (a.name < b.name) {return -1;}
return 0;});//спасибо user89.
				
$model[0].selectize.clearOptions();
				
//Во вторых selectize сортирует х.з. как + в Хроме выдаст криво
var options = Object.keys(arr).map(function(key) {
        return {value:arr[key].idx, text:arr[key].name};
});

//поэтому сделаем сортировку
$.each(options, function(index, option) {
	option.$order = index;
});	
					
$model[0].selectize.addOption(options)//ну и запихнем в selectize	
					
$model[0].selectize.refreshOptions();
$model[0].selectize.enable();
...
Рейтинг: 0 / 0
select меняет расположение строк
    #39449024
vitalukalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / select меняет расположение строк
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]