sélecteur jquery ne peut pas lire à partir de champ caché
(les réponses agrégées en une autre question)
La suite de jquery 1.3.2 code fonctionne:
<input type="select" value="236434" id="ixd" name='ixd' />
<script>
console.log( $('#ixd') );
console.log( $("input[name='ixd']") );
</script>
Console affiche:
[input#ixd 236434]
[input#ixd 236434]
Cependant réglage de l'entrée à "hidden" empêche les sélecteurs de travail. Toute indices?
<input type="hidden" value="236434" id="ixd" name='ixd' />
<script>
console.log( $('#ixd') );
console.log( $("input[name='ixd']") );
</script>
Console affiche:
[]
[]
OriginalL'auteur Andy | 2009-06-15
Vous devez vous connecter pour publier un commentaire.
Pas pourquoi ce serait un échec. Je fais la même chose au travail sur une base régulière, et il fonctionne indépendamment de la formfield être masqué ou non.
Peut-être essayer ceci:
Qui vous permettra d'obtenir la valeur du champ caché. Pour obtenir la valeur d'un champ de formulaire, le
.val()
méthode doit être utilisée.Essayé, j'ai essayé de souligner que les sélecteurs ne fonctionnaient pas, plutôt que d'utiliser la sortie 🙂
En outre, ce code ne fonctionne pas non plus!
Désolé, je n'ai aucune idée alors. J'utilise jQuery avec des champs cachés tout le temps sans problèmes.
J'ai juste rencontré un problème similaire et .val() ne fonctionne pas pour moi. le document n'était pas de chargement assez rapide pour elle, a dû envelopper d'un document.prêt à travailler (ce qui n'était pas une option). Cependant, .attr('value') a travaillé w/out d'être enveloppé dans le document.prêt, si +1, que cela peut fonctionner mais +1 pour .attr('value') de trop. OIE à d'autres personnes dans le même bateau, essayez les différentes façons énumérées dans les réponses!
OriginalL'auteur Mike Trpcic
Est que même des balises valides?
Il semble que la sélection d'un visible entrée récupère la valeur de celui-ci, même sans explicitement appel
.val()
, tandis que la sélection d'un caché, on ne répond pas:Essayer:
et
OriginalL'auteur karim79
Cela peut être plus d'un problème avec la console. J'ai couru un test et il semble toujours saisir l'instance de l'élément. Je ne peux pas dire exactement ce que vous essayez de faire ici.
Si vous essayez juste de valider si l'objet a été trouvé vérifier la longueur de la propriété
Si vous essayez d'obtenir la valeur du champ, puis utilisez le val méthode
Enfin, il est possible que, dans votre solution le DOM n'est pas entièrement chargé. Assurez-vous que vous êtes d'emballage de votre logique à l'intérieur d'un document.prêt d'appel.
Je ne sais pas, je me demande si c'est le cas avec tous les navigateurs?
désolé pour necroing mais je viens de traiter un problème similaire. S'avère que le document n'était pas de chargement assez rapide pour qu'il y ait une valeur dans le champ caché, et à l'aide de document.prêt résolu (et c'est seulement dans firefox...semble très bien fonctionner dans IE et chrome...). Mais le document.prêt n'était pas une option pour moi, donc je voulais également souligner que l'utilisation .attr('value') peut, en effet, au lieu de tout .val(). Pour une raison quelconque, il a travaillé pour moi alors que .val() n'a pas (sauf s'il a été enveloppé dans le document.prêt, bien sûr).
OriginalL'auteur bendewey
Si vous ne le faites pas dans ASP.Net, vérifiez l'ID de votre commande au moment de l'exécution par l'Affichage de la Source de l'option dans votre navigateur. Vous trouverez peut-être que votre ID de contrôle n'est pas ce à quoi vous vous attendez à être si, par exemple, votre contrôle est déclaré dans une page de contenu. Dans ce cas, il serait attribué un ID qui est piloté par sa page maître. Plutôt que de coder en dur l'ID de votre jQuery vous pouvez vous référer à sa propriété ClientID à l'aide de ASP.Net la syntaxe inline qui vous protègera également des changements dans le maître ou le contenu de la page de contrôle de la hiérarchie.
Donc...
...serait un meilleur choix que ...
...bien qu'ils travaillent tous les deux.
OriginalL'auteur RCW
J'ai eu des problème là où
$('#field_id').val()
ne retournent aucune valeur parce que les champs cachés ont été imbriqués (body > div > form > ul > li > p
). Les sortir de l'ul a résolu le problème.OriginalL'auteur Lenart
Si aucun de ces travaux essayer
OriginalL'auteur Ryan Soury