Last Updated: February 25, 2016
·
1.08K
· ktusznio

IE-compatible way to change select options with jQuery

(function($, window) {
 $.fn.replaceOptions = function(options) {
 var self, $option;

 this.empty();
 self = this;

 $.each(options, function(index, option) {
 $option = $("<option></option>")
 .attr("value", option.value)
 .text(option.text);
 self.append($option);
 });
 };
})(jQuery, window);

It expects an array of objects which contain "text" and "value" keys. So usage is as follows:

var options = [
 {text: "one", value: 1},
 {text: "two", value: 2}
];

$("#foo").replaceOptions(options);