views:

46

answers:

2

Hi,

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

A: 

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);
Josh
+5  A: 

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);
naivists
I like your solution better than mine. Why didn't I think of that? :-)
Josh
Great stuff. Thanks all!
AndyC