2011-09-15 3 views
0

J'ai une entrée «select» programmée pour ouvrir une boîte modale lorsque je clique dessus pour obtenir des informations avant de continuer. Cette partie fonctionne très bien.Désélection d'une entrée de sélection

Le problème est qu'une fois que la boîte modale est en place, les options de sélection sont encore visibles. Je veux que cette entrée de sélection redevienne normale et ne soit pas cliquée du tout.

Quel code javascript ou jquery puis-je utiliser pour que cette liste déroulante disparaisse?

+0

document.body.focus() devrait fonctionner –

+0

Bonne idée ... n'a pas fonctionné cependant. : -/ – rgbflawed

Répondre

1

Je pense qu'il est plus correct de se déplacer gestionnaire click-change. Dans ce cas, sélectionnez sera fermé et les modifications du clavier seront également traitées

+0

Même si cette solution ne fonctionne pas pour moi (j'ai besoin que l'alerte arrive avant même d'avoir à regarder autour et de changer le select) c'est une bonne idée et mérite d'être choisie la réponse. – rgbflawed

0

Avant jQuery 1,6

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

jQuery 1.6 et

$('#mySelectBox :selected').removeProp('selected', ''); 
0

Je ne suis pas sûr que vous pouvez le faire avec une balise de sélection standard. Peut-être parce qu'il a toujours l'accent. Ce que j'ai fait quand j'avais besoin d'une étiquette de sélection personnalisée, c'est d'éviter complètement l'étiquette de sélection et d'utiliser un bouton qui ressemble graphiquement au bouton de sélection. Regardez this page - regardez le bouton TAX et le bouton à gauche de celui-ci. Il n'y a pas d'étiquette de sélection, mais cela fonctionne très bien.

1

Essayez d'utiliser ceci:

$('#mySelect').focus(function(event){ 
    event.preventDefault(); 
    // code here 
}); 

Si ce travail does't, essayez d'utiliser la preventDefault() avec l'événement click. La mise au point permettra au moins aux utilisateurs de naviguer dans les champs avec le clavier (onglet, etc.) au lieu de la souris.

Questions connexes