2009-08-05 13 views
9

pregunto cómo es posible anular la selección de la casilla de selección de opción, yo solía .Remove() pero esto en realidad elimina el texto desde el cuadro de selección,cómo anular la selección de un selecto cuadro de opción después de algún cálculo se realiza

Hay alguna otra manera.

gracias

+0

¿Quieres configurar el texto predeterminado que el seleccionado? – rahul

+0

Tengo algunos cuadros de selección, obtengo sus valores y texto y los agrego a las matrices después de eso necesito establecerlos en su estado original. – amir

Respuesta

17

$('#mySelectBox :selected').attr('selected', '');

Dónde #mySelectBox es el ID de su elemento select.

+0

Gracias, funciona bien. – amir

+0

Me encanta, funciona en ie también –

7

Estos casos varían para cuadros de selección con opciones individuales y cuadros de selección con múltiples opciones.

Para cuadros de selección con opciones individuales:

<select id='selectbox'> 

El código jQuery:

$('#button').click(function() { 
     $('#selectbox').attr('selectedIndex', '-1'); 
}); 

Nota: Se necesita esta variante para que funcione en Internet Explorer. El siguiente ejemplo también funciona para cajas de texto de opción única en Internet Explorer.

Para cuadros de selección con múltiples opciones:

<select id='selectbox' multiple='multiple'> 

El código jQuery:

$('#button').click(function() { 
     $('#selectbox option').attr('selected', ''); 

}); 
+1

Cambiar "attr ('selected', 'false');" a "attr ('selected', '');" y usted mismo tiene una gran respuesta ... – markthegrea

+0

Ha cambiado. Gracias por el comentario. – Scharrels

1

una respuesta muy retrasada, pero he encontrado que esto funciona mejor para una selección múltiple, así que espero que pueda ayudar a alguien más que encuentra esto en Google también.

$('#button').click(function() { 
     $('#selectbox option').removeAttr('selected'); 

}); 
0

respuesta muy tardía, pero no pude encontrar nada que trabajó con un cuadro de selección múltiple no por lo que escribió esto mismo.

var chg = 0; // global to unselect 
$("#myoptions").on({ 
    mousedown : function(){ 
    chg = 0; 
}, 
change : function() { 
    chg = 1; 
}, 
click: function() { 
    if (chg !== 1) { 
    $("#myoptions")[0].selectedIndex = -1; 
    } 
} 
}); 

He probado esto en Chrome e IE8.

Le permitirá seleccionar y luego deseleccionar como pueda con el cuadro de selección múltiple. No tiene que usar la tecla CTRL, pero si lo hace aún funciona.

Aquí es una jsFiddle: http://jsfiddle.net/rkekvows/

Cuestiones relacionadas