Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Original options order incorrect in Chrome #198

Closed
denmulryan opened this issue Nov 26, 2013 · 11 comments
Closed

Original options order incorrect in Chrome #198

denmulryan opened this issue Nov 26, 2013 · 11 comments

Comments

@denmulryan
Copy link

I have a selectize dropdown with numeric entries from 1 to 31 (i.e. days in month) created from the original select element. Options are sorted correctly in Firefox but incorrectly in Chrome.

@brianreavis
Copy link
Member

Can you provide a jsfiddle that reproduces this problem? There is a test in place for this, so I'm curious what's going on...

@ifsred
Copy link

ifsred commented Dec 10, 2013

I can confirm incorrect behaviour when using this jsfiddle. In Chromium browser I always got options sorted like [7, 1, 3, 4, 5, 6, 2, 8, 9, 10, 11, 12], but in Firefox options are sorted from 1 to 12.

@eliashdezr
Copy link

I'm having a similar issue. Selectize doesn't use the order of my Array of Objects that is passed from my Web Service. Does anyone knows how to solve this issue? The filter option is not enabled btw.

@sluukkonen
Copy link

I had this problem with 0.7.7, but upgrading to 0.8.5 fixed it for me.

@mysterfitz
Copy link

I am experiencing this issue using 0.8.5. It's a fairly serious problem, as users kind of expect days of the month to be linear. The jsfiddle above is using 0.8.4 and exhibits the same behavior I see in 0.8.5.

@mysterfitz
Copy link

For any other lost pilgrims who have been fighting this issue...
When setting selectize on an element, if you can provide the data in the desired order, the sort can be disabled by setting 'sortField: []' in the properties. This will prevent your options from being mis-ordered in Chrome.

@vemv
Copy link

vemv commented Mar 10, 2014

sortField: [] doesn't work for me unfortunately.

@enoshixi
Copy link
Contributor

The problem is that ECMAScript standard does not guarantee Array.sort is a stable sort (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Description).

If you have a value you can sort by, you can always specify it as a sortField: sortField: [{ field: 'value' }] http://jsfiddle.net/3pRC6/

Or you can add an $order property to your objects which is what selectize checks for by default. http://jsfiddle.net/tm65s/

@vishalvijay
Copy link

Same issue here using v0.11. I able to solve by sortField: [].

@daylen
Copy link

daylen commented Oct 7, 2014

I have the same issue; elements are totally out of order in Google Chrome 39 but are in order in Safari 8 beta. Using Selectize 0.11. The fix was to use sortField: []. Not sure why that works, but it does.

@mike-suggitt
Copy link

It looks like this is still an issue. I've just forked the repo and get the same issue when remotely retrieving data. Options are placed into an associative array indexed by their id. This fundamentally reorders them. Applying no sortField or a sortField of [] doesn't work for me. What I've looked to do is re-assign the $order property that is the default sort property. This usually looks at non-dynamic data without ids (i.e. html option tags) and assigns it as an incremental index. I overwrite this for dynamic data and so if no sortField is specified it falls back to the $order property and works correctly

brianreavis added a commit that referenced this issue Jan 30, 2015
#640, #381, #499, #198).

Deprecates optgroupOrder, introduces lockOptgroupOrder setting.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests