2012-07-19 3 views
4

J'ai un div contenant un menu de sélection et un autre élément (.dropArrow).Sélectionnez (développez) un menu déroulant lorsque vous cliquez sur un autre élément

Ce que je voudrais faire est de sélectionner le menu lorsque vous cliquez sur .dropArrow.

Voici le jquery que je l'ai essayé jusqu'à présent, mais sans succès ...

$(".dropArrow").live('click', function() { 
    $(this).siblings("select").click(); 
}); 

HTML

<div class="selectContainer selectTest" style="width: 305px;"> 
    <select id="selectTest"> 
     <option value="1">1</option> 
     <option value="2">2</option> 
     <option value="3">3</option> 
     <option value="4">4</option> 
    </select> 
    <span class="dropArrow">^</span> 
</div> 

Je devine que c'est la .cliquez() partie qui est faux que je peut changer cela à quelque chose comme .hide() et ça fonctionne bien.

+0

S'il vous plaît poster la partie correspondante du html ainsi. En outre, quelle version de jQuery utilisez-vous? '.live()' est obsolète, et vous devriez probablement utiliser '.on()' – nbrooks

+0

désolé relisez votre question et je ne pense pas que ce que vous voulez est possible, ne semble pas être déclenché sur l'élément cliquez sur – nbrooks

Répondre

4

Je l'ai fait fonctionner, en utilisant juste CSS, pas de Javascript. Cependant, je ne pense pas que cette solution soit parfaite à 100%.

Voir pour vous-même à: jsfiddle.net/Luuk/35xdx/

En outre, this post explique plus sur l'activation des éléments de sélection avec Javascript

+1

Oh! l'option 'pointer-events: none;' semble fonctionner dans tout sauf IE. Existe-t-il une correction IE? – Tom

+0

Non, cependant, vous pouvez utiliser la solution fournie ici: http://stackoverflow.com/questions/4142619/how-to-make-elect-element-be-transparent-in-chrome Fondamentalement, vous donneriez à votre sélectionner un autre fond, et dans ce que vous pouvez mettre votre flèche, bien sûr, la flèche devrait devenir une image. –

Questions connexes