Réglage de la netteté de la prochaine entrée en jQuery?
Je suis actuellement a un script qui va vérifier la valeur d'une boîte de sélection, puis de permettre à un champ de texte de droite à côté de lui, et puis j'espère que définir le focus.
J'ai ceci à l'heure actuelle, qui fonctionne en activant le champ de saisie...
$("#assessed select").change(function () {
if($(this).val() == 'null') { $(this).next('input').attr("disabled", true); }
else { $(this).next('input').removeAttr("disabled"); }
});
Je suis un peu coincé sur la concentration de peu pour être honnête, j'ai essayé le "$(this).next('input').focus ();", mais ça n'a pas l'accent du tout, même si il n'a pas une erreur Javascript...
$("#assessed select").change(function () {
if($(this).val() == 'null') { $(this).next('input').attr("disabled", true); $(this).next('input').focus(); }
else { $(this).next('input').removeAttr("disabled"); }
});
Toutes les idées s'il vous plaît les gars? Je suis vraiment bloqué sur ce et il serait très simple, mais très utile plus à la page que je suis en train de construire!
Grâce
Pourriez-vous poster votre code HTML?
OriginalL'auteur Nick | 2009-08-05
Vous devez vous connecter pour publier un commentaire.
Modifié de la réponse ci-dessus avec cache cette jq objet. Aussi le filtre à l'intérieur de la prochaine n'est pas nécessaire. next() ne retourne jamais le frère suivant. Le filtre est essentiellement dire, moi la prochaine seulement si c'est une entrée ou quel que soit le filtre que vous donnez. Si vous êtes sûr que le prochain est l'objet désiré n'est pas nécessaire d'inclure le filtre.
OriginalL'auteur redsquare
Aussi trouvé un joli petit plugin pour obtenir l'entrée suivante: http://jqueryminute.com/set-focus-to-the-next-input-field-with-jquery/
.not(':hidden')
pour les domaines de la déclaration, de sorte que seuls les éléments visibles sont sélectionnés. Aussi, ajouterelse {fields.first().focus();}
pour obtenir le focus à enrouler autour du premier élément.Pourquoi avez-vous recherche les parents de la forme:eq(0) tout d'abord?
il sélectionne le formulaire parent que l'élément d'entrée est en. Je ne sais pas si le "eq(0)" est nécessaire, pas mon code tho, donc je ne suis pas sûr.
Bonne idée @CollinK - je l'ai ajouté dans
OriginalL'auteur TimoSolo
Je pense que votre problème est peut-être qu'il n'est pas possible de définir le focus à un handicapé de contrôle d'entrée (au moins dans certains navigateurs/systèmes d'exploitation).
Votre
focus()
appel est essentiellement dans le mauvais bloc, il devrait être dans leelse
bloc, pas laif
bloc.Comme ceci:
N'oubliez pas de mettre en cache le $(this) plutôt que de l'appeler plusieurs fois
Fait, merci 🙂
OriginalL'auteur Rob Knight