2010-08-05 38 views
8

Cómo eliminar uno o más elementos seleccionados en la etiqueta de opción, de una lista desplegable de HTML (usando Jquery).Cómo eliminar un elemento seleccionado de una lista desplegable (usando Jquery)

Para eliminar todas las opciones de un cuadro combinado, podemos utilizar la siguiente declaración de Jquery.

$ ("# cmbTaxIds> option"). Remove();

Suponiendo el siguiente código HTML en el archivo aspx.

  <select id="cmbTaxID" name="cmbTaxID" style="width: 136px; display: none" tabindex="10" disabled="disabled"> 
       <option value="0"></option> 
       <option value="3"></option> 
       <option value="1"></option> 
      </select> 

Si Quiero eliminar sólo el valor medio, entonces ¿cuál debe ser la sintaxis para el mismo (usando jQuery)?

Respuesta

16

Utilice el selector eq.

var index = $('#cmbTaxID').get(0).selectedIndex; 
$('#cmbTaxID option:eq(' + index + ')').remove(); 

Esta es la mejor manera de hacerlo porque está basado en índices, no en valores arbitrarios.

+0

Ayudó a resolver mi problema. Muchas gracias :-) – Biki

1
$("#cmbTaxIds >option[value='3']").remove(); 

Simplemente reemplace 3 con el valor del elemento que desea eliminar.

1

Una respuesta más genérica para eliminar la opción seleccionada podría ser

$('#somebutton').click(function(){ 
    var optionval = $('#cmbTaxIds').val(); 
    $('#cmbTaxIds > option[value=' + optionval + ']').remove(); 

}) 
4

algo como esto:

$('#cmbTaxID option:selected').remove(); 

o incluso más corto:

$('#cmbTaxID :selected').remove(); 
+0

Esto me parece el más elegante. El selector encontrará todas las opciones seleccionadas. Las otras soluciones implican pasar un índice. –

13

Para eliminar el elemento seleccionado:

$("#cmbTaxID :selected").remove(); 
+1

No usé 'option' y funcionó para mí. ¿Me estoy perdiendo algo si uso - '$ (" # cmbTaxID: selected "). Remove();'? – boddhisattva

+0

Funcionará. Buscará un elemento con el atributo SELECTED dentro del