¿Cuál es la mejor manera de agregar opciones a un select from como un objeto JS con jQuery?


¿Cuál es el mejor método para agregar opciones a un <select> desde un objeto JavaScript usando jQuery?

Estoy buscando algo que no necesito un plugin para hacer, pero yo también estaría interesado en los plugins que están por ahí.

Esto es lo que hice:

selectValues = { "1": "test 1", "2": "test 2" };

for (key in selectValues) {
  if (typeof (selectValues[key] == 'string') {
    $('#mySelect').append('<option value="' + key + '">' + selectValues[key] + '</option>');
  }
}

Una solución limpia / simple:

Esta es una versión limpia y simplificada de de matdumsa:

$.each(selectValues, function(key, value) {
     $('#mySelect')
          .append($('<option>', { value : key })
          .text(value));
});

Cambios de matdumsa: (1) se eliminó la etiqueta de cierre para la opción inside append() y (2) movieron las propiedades/atributos a un mapa como segundo parámetro de append().


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52