J’ai un problème avec une entrée.
voici mon code html / php:
$dotation = ($ig["dotation"]) ? $ig["dotation"]: ''; $bo .= ' ' . $dotation . ' Modifier
voici mon code js:
var dot_cha = $(this).parent().find('.dot').val();
Ma question est, pourquoi var dot_cha est toujours vide?! Quand j’utilise .html au lieu de .val, j’ai le droit, où est mon erreur?
- Comment utiliser jQuery pour modifier un champ lorsqu’une autre valeur de champ a été modifiée
- Comment supprimer une partie du texte dans une liste déroulante?
- Comment valider correctement dans jQuery pour une entrée de texte vide
- Erreur jQuery très étrange
- Différence de rendu des points Unicode dans un navigateur: caractères HTML vs jQuery.html
Merci.
- Comment supprimer l’élément d’entrée avant mon bouton?
- Hauteurs jQuery égales et contenu dynamic
- le code de bascule ne fonctionne pas lorsqu’il est inséré dans la fonction de clic accordéon à l’aide de jquery
- Désactiver toutes les cases sauf une
- Aide sur les sélecteurs jQuery
.val () récupère l’atsortingbut value d’un élément input. “.dot” est un td et n’a pas d’atsortingbut value.
Que voulez-vous que dot_cha soit exactement? Si c’est l’entrée que vous recherchez, cela fonctionnerait.
$(this).parent().find('.datepickerIG').val();
Si c’est le texte du td, .html () ou .text () vous donnera ceci.
val
récupère la valeur de l’ input
et des autres balises ayant cet atsortingbut. Dans votre cas, .dot
est la classe d’une ligne de table qui n’a pas de value
atsortingbut … Vous devez donc utiliser .text()
ou .html()
.
Je dirais que le problème est qu’un
n’a pas de valeur, il contient du HTML.
Ce serait pourquoi .html fonctionne et .val ne fonctionne pas.
Vous utilisez .val sur les entrées qui ont des valeurs, mais
n’est pas une entrée, il s’agit simplement d’une balise HTML.
val()
doit être utilisé avec des éléments de formulaire (tels que input
, textarea
etc.) et non avec des éléments.
Vous devez obtenir le innerText
ou innerText
de l’élément.
Quelque chose comme:
var dot_cha = $(this).parent().find('.dot').text();
Bien que vous ayez besoin de vous assurer que vous avez un élément – comme vous pouvez obtenir une collection d’éléments.
De la docs :
La méthode .val () est principalement utilisée pour obtenir les valeurs des éléments de formulaire tels que input, select et textarea. Dans le cas d’éléments, la méthode .val () renvoie un tableau contenant chaque option sélectionnée. si aucune option n’est sélectionnée, la valeur renvoyée est null.
Dans la documentation de l’API jQuery :
La méthode .val () est principalement utilisée pour obtenir les valeurs des éléments de formulaire tels que input
, select
et textarea
.
val
est utilisé sur les éléments de formulaire. Comme .dot
est un élément td
(qui n’est pas un élément de formulaire), utiliser val
ne fonctionnera pas. Pour obtenir le contenu de tout élément autre qu’un élément de formulaire, utilisez .html
ou .text
Le doc ici dit
La méthode .val () est principalement utilisée pour obtenir les valeurs des éléments de formulaire tels que input, select et textarea.
Vous avez raison. Html fonctionne car dans votre cas, vous avez un td, et vous devriez utiliser
$(".dot").html()
J’espère que ça aide
- JQuery UI slider handle sur la dernière valeur enregistrée
- Jquery Animate ScrollLeft ne fonctionne pas sur ipad
- Jquery retourne b.fn.b.init
- Masquer ou afficher tous les div pour une certaine valeur d’un atsortingbut de données
- Comment mettre à jour le code dans textarea avec jQuery
- Modifier les valeurs dans le formulaire soumis et la fonction de sérialisation JQuery
- Accordéon – Vous ne voulez pas rendre la première cellule active
- Ajouter des blocs HTML
- Comment puis-je verrouiller le clavier pour limiter le nombre de caractères dans une zone de texte?
- Menu vertical pour restr ouvert en vol stationnaire puis se fermer lorsqu’un autre est survolé