¿Cómo borro todas las opciones en un cuadro desplegable?

Resuelto Kirt asked hace 14 años • 31 respuestas

Mi código funciona en IE pero falla en Safari, Firefox y Opera. (gran sorpresa)

document.getElementById("DropList").options.length=0;

Después de buscar, he aprendido que es el length=0que no le gusta.
Lo he probado ...options=nully var clear=0; ...length=clearcon el mismo resultado.

Estoy haciendo esto con varios objetos a la vez, por lo que estoy buscando un código JS liviano.

Kirt avatar Jul 29 '10 22:07 Kirt
Aceptado

Para eliminar las opciones de un elemento HTML de select, puede utilizar el remove()método:

function removeOptions(selectElement) {
   var i, L = selectElement.options.length - 1;
   for(i = L; i >= 0; i--) {
      selectElement.remove(i);
   }
}

// using the function:
removeOptions(document.getElementById('DropList'));

Es importante quitar el optionsrevés; a medida que el remove()método reorganiza la optionscolección. ¡De esta manera, se garantiza que el elemento a eliminar todavía existe!

Fabiano avatar Jul 29 '2010 16:07 Fabiano

Si desea tener un script liviano, elija jQuery. En jQuery, la solución para eliminar todas las opciones será la siguiente:

$("#droplist").empty();
Kangkan avatar Jul 29 '2010 16:07 Kangkan

Probablemente no sea la solución más limpia, pero definitivamente es más sencilla que eliminar uno por uno:

document.getElementById("DropList").innerHTML = "";
Dmitry Shintyakov avatar Aug 26 '2013 08:08 Dmitry Shintyakov