AndrewC
AndrewC

Reputation: 6730

Move an item up/down a select

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

Answers (2)

naivists
naivists

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

Josh
Josh

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

Related Questions