Reputation: 6730
I'm wondering if it's possible to change the order of things in a select control without having to totally rebuild it?
Is there a javascript function where I can change the "index" of a specific option in the select?
Thanks
Upvotes: 5
Views: 1227
Reputation: 33531
Sure, just find the two elements in jQuery (by their IDs or whatever), so you have two objects and then use before()
on them
var o1=$("#opt1");
var o2=$("#opt2");
o2.insertBefore(o1);
Upvotes: 5
Reputation: 11070
Try using Array.splice
// Remove the option from the list:
var option = selectElement.options.splice(indexOfOptionToRemove,1);
// and put it back in at the new index:
selectElement.options.splice(indexOfNewOptionPosition,option);
Upvotes: 1