2011-05-19 26 views
5

Duplicar posible:
Quick way to clear all selections on a multiselect enabled <select> with jQuery?Cómo borrar un selecto menú desplegable múltiple utilizando jQuery

Estimado todos.

Tengo un problema. una vez que tengo un cuadro multiselect y quiero borrar todo el contenido de eso cuando hago clic en el botón de reinicio.

¿podría por favor proporcionarme jquery para eso?

Gracias.

Satya

+0

por claro quiere decir eliminar la selección? – Neal

+4

Debe publicar algo de lo que ha intentado, en lugar de solo pedirle a la comunidad que le proporcione el código. –

+0

lo que probó en su extremo hasta ahora nos muestra un código – Devjosh

Respuesta

7

En el futuro, debe publicar lo que ha intentado hasta ahora: le da a las personas que intentan responder a su pregunta un poco más de información sobre qué camino está tomando y hacia dónde puede ir por el camino equivocado .

Dicho esto, se puede eliminar un elemento de la lista desde su recipiente con el método .remove(), así:

$('#list option').each(function(index, option) { 
    $(option).remove(); 
}); 

se puede ver en acción aquí: http://jsfiddle.net/y9pzS/

y aquí está una versión que utiliza el método .empty() para eliminar todos los elementos secundarios de la lista: http://jsfiddle.net/y9pzS/1/

Nota: existe una gran cantidad de ambigüedad en su pregunta. No estoy seguro si está buscando eliminar todo el contenedor o simplemente eliminar los elementos seleccionados. Esto eliminará todos los artículos del cuadro de selección.

13

supongo que te refieres selección clara:

//for jQuery >= 1.6 
$('select option').removeProp('selected'); 
//for jQuery < 1.6 
$('select option').removeAttr('selected'); 
8

Para anular la selección de todos los elementos si se utiliza jQuery 1.6.1 o posterior:

$('#mySelect').children().removeProp('selected'); 

o para la compatibilidad hacia atrás:

$('#mySelect').children().removeAttr('selected'); 

Por simplicidad, supongo que su HTML está bien formado y que su select solo tiene option hijos.

Además, si la lista es grande y el rendimiento es un problema, filter la lista para que solo cambie las que están realmente seleccionadas, es discutible si es más simple simplemente anular la selección de todas las opciones o solo cambiar las que necesitan anular la selección :

$('#mySelect').children(':selected').removeProp('selected'); 

[NB: el uso de :selected en la segunda llamada de función se (de acuerdo con los documentos de jQuery) más eficiente que hacer un solo selector compuesto]

Cuestiones relacionadas