2011-07-19 3 views
0

J'ai un certain nombre de années div qui peut être étendu à l'aide:essai JQuery si Div a été des champs de formulaire cachés et clairs si elle a été cachée

$('.adddriver1').click(function(){ 
$("#additionaldriver1").slideToggle(); 
return false; 
}); 

Je viens de changer le div id que je dois. Les champs de cette div peuvent alors être remplis.

Si la personne clique sur le bouton pour masquer la div je dois vérifier si quelque chose a été entré et effacer les champs. Je suis en train:

$("#additionaldriver1").change(function(){ 
if($("#additionaldriver1").is(":hidden")){ 
$("#Driver2FirstName").val(''); 
$("#Driver2LastName").val(''); 
} 
}); 

Le html est:

 <a href="#"><img src="images/adddriver.gif" alt="" width="203" height="20" border="0" class="adddriver1" /></a> 
</div> 

<div id="additionaldriver1"> 
    <h1>Section 2.2 - <span>Additonal Driver 1 Information</span></h1> 
    <table width="100%" border="0" cellspacing="3" cellpadding="3"> 

     <tr> 

     <td width="34%" valign="middle"><strong>Additional Driver 1 </strong></td> 
     <td colspan="2" valign="middle">&nbsp;</td> 
     </tr> 
    </table> 
</div> 

Mais il ne supprime pas les champs. Toute aide serait appréciée Merci à l'avance, Warren

+0

peut vous envoyer le code HTML s'il vous plaît – benhowdle89

Répondre

1

utiliser la fonction de rappel:

$('.adddriver1').click(function(){ 
    $('#additionaldriver1').slideToggle('slow',function(){ 
     if($(this).is(':hidden')) 
     { 
      $('#Driver2FirstName').val(''); 
      $('#Driver2LastName').val(''); 
     } 
    }); 
}); 
+0

J'ai essayé et il ouvre automatiquement la div sans avoir à cliquer sur le bouton. J'ai besoin d'avoir ce div caché initialement. Il n'efface pas les champs lorsque je le ferme, puis le rouvre. – Warren

+0

:) Vous devez toujours utiliser votre gestionnaire de clic. Voir le code mis à jour. – AlienWebguy

+0

Merci qui a aussi bien fonctionné! – Warren

2

est $ ("# additionaldriver1") un div? Si c'est le cas, je ne pense pas qu'il déclenchera un événement de changement. Vous feriez mieux d'appeler votre code cacher dans un rappel de la fonction slideToggle (code ci-dessous non testé) -

$("#additionaldriver1").slideToggle('medium',function() { 
    if($("#additionaldriver1").is(":hidden")){ 
    $("#Driver2FirstName").val(''); 
    $("#Driver2LastName").val(''); 
    } 
}); 
+0

Arrghh - battu au coup de poing par AlienWebguy! – ipr101

+0

Les grands esprits se ressemblent :) – AlienWebguy

+0

Wow, vous avez répondu après moi et a obtenu l'acceptation - comment vous l'avez retiré? :) – AlienWebguy

Questions connexes