2009-08-05 12 views
9

solo chiedendo come è possibile deselezionare la casella di opzione di selezione, ho usato .Rimuovere(), ma questo in realtà rimuove il testo dalla casella di selezione,come per deselezionare una casella di opzione di selezione dopo qualche calcolo viene effettuato

c'è un altro modo

grazie

+0

Vuoi impostare il testo predefinito come quello selezionato? – rahul

+0

Ho alcune caselle di selezione, ottengo i loro valori e il testo e li aggiungo agli array dopo che ho bisogno di impostare il loro stato originale. – amir

risposta

17

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

Dove #mySelectBox è l'id del vostro elemento di selezione.

+0

Grazie, funziona bene. – amir

+0

Love it, works in ie –

7

Questi casi variano per le caselle di selezione con opzioni singole e selezionare caselle con più opzioni.

Per selezionare le caselle con i singoli opzioni:

<select id='selectbox'> 

Il codice jQuery:

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

Nota: è necessario questa variante per farlo funzionare in Internet Explorer. L'esempio di seguito funziona anche per le singole caselle di testo di opzioni in Internet Explorer.

Per selezionare le caselle con le opzioni multiple:

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

Il codice jQuery:

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

}); 
+1

Cambia "attr ('selected', 'false');" a "attr ('selected', '');" e tu hai un'ottima risposta ... – markthegrea

+0

Modificato. Grazie per l'osservazione. – Scharrels

1

una risposta molto ritardo, ma ho trovato questo funziona meglio per una select multipla, quindi speriamo che possono aiutare qualcuno altrimenti chi lo trova su Google.

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

}); 
0

risposta molto tardi, ma non riuscivo a trovare qualcosa che ha lavorato con una casella di selezione non più così ho scritto io stesso.

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; 
    } 
} 
}); 

Ho provato questo in Chrome e IE8.

Permette di selezionare e quindi deselezionare come è possibile con la casella di selezione multipla. Non è necessario utilizzare il tasto CTRL, ma se lo fai funziona ancora.

Ecco un jsFiddle: http://jsfiddle.net/rkekvows/

Problemi correlati