2010-11-23 5 views
3

J'ai un accordéon jQuery assez simple avec des boutons radio dans chaque en-tête.bouton radio dans la tête de jquery ui accordéion l'empêche de réagir

Voir cette JSFiddle

Lorsque je sélectionne un bouton radio, il doit faire vérifier et l'accordéon devrait ouvrir à cet endroit. Un problème étrange est que l'accordéon s'ouvre mais la radio ne se vérifie pas.

Pour moi, cela ressemble à un bug dans jQuery-ui, toute aide serait appréciée.

<div class="accordion"> 
    <h3> 
     test1 
     <input type="radio" checked="checked" name="radio" /> 
    </h3> 
    <div> 
     content<br /> 
     content<br /> 
     content<br /> 
     content<br /> 
    </div> 
    <h3> 
     test2 
     <input type="radio" name="radio" /> 
    </h3> 
    <div> 
     content<br /> 
     content<br /> 
     content<br /> 
     content<br /> 
    </div> 
    <h3> 
     test3 
     <input type="radio" name="radio" /> 
    </h3> 
    <div> 
     content<br /> 
     content<br /> 
     content<br /> 
     content<br /> 
    </div> 
</div> 

js:

$(".accordion").accordion() 

Comme vous pouvez le voir son peu près aussi simple qu'il peut obtenir ...

Répondre

5

Quelle que soit l'événement que vous utilisez (la valeur par défaut est "click") aura .preventDefault() invoqua Il se peut que vous souhaitiez simplement passer à un événement similaire, comme ceci:

$(".accordion").accordion({ event: "mouseup" }); 

You cant test it here.

+1

J'ai légèrement modifié @ Nick's Fiddle pour que le fait de cliquer n'importe où sur l'en-tête Accordian sélectionne le bouton radio, au lieu d'être obligé de cliquer sur le bouton radio lui-même. Ma solution est [ici] (http://jsfiddle.net/jofitz/zqs2B/492/) – jofitz