J'essaie d'obtenir les fonctionnalités suivantes. Dans un formulaire j'ai plusieurs champs avec le nom de classe .inputField si l'un de ces champs est sélectionné, alors la div associée à cet élément devrait être montrée sur le focus et cachée sur le flou. Cependant, lorsque j'implémente le code ci-dessous en sélectionnant le second élément, la classe est appliquée aux deux. Je ne sais pas où je vais mal?!?!?jquery sélectionnez une classe parmi plusieurs
balisage HTML:
<form class="friendlyForm" name="friendlyForm" id="friendlyForm">
<ul>
<li>
<label for="testField">Test field</label>
<input name="testField" value="here" class="inputField" id="testField" />
<div class="helper" style="display: none;">helper text here</div>
</li>
<li>
<label for="testField">Test field2</label>
<input name="testField2" value="here" class="inputField" id="testField2" />
<div class="helper" style="display: none;">helper text here</div>
</li>
</ul>
</form>
balisage jQuery:
$('.friendlyForm').find('.inputField').each(function(i) {
$(this).blur();
$(this).focus(function() {
//Add the focus class and fadeIn the helper div
$(this).parent().addClass('focus');
$(this).parent().parent().find('.helper').fadeIn();
});
$(this).blur(function() {
//Remove the focus class and fadeOut helper div
$(this).parent().removeClass('focus');
$(this).parent().parent().find('.helper').fadeOut();
});
});
Les pointeurs ici seraient grandement appréciés.
Merci
Je pense en fait que vous n'avez même pas besoin de '.each', vous pouvez simplement faire' $ ('.friendForm .inputField'). Blur(). Focus (...). Blur (...) '. –
Merci, c'est fait l'affaire. Simple vraiment! – simnom