2009-10-03 9 views
2

Comment ajouter un à la valeur d'un champ de texte? Par exemple, la quantité? Voici comment j'obtiens l'objet du DOM - que fais-je ici?Ajouter un à la valeur d'un champ de texte

$(this).parent("div").children("input").val(); 

C'est la valeur de mon champ de texte :)

Répondre

2
var elm = $(this).parent("div").children("input"); 
var val = elm.val(); 
val = Number(val) == NaN ? 0 : Number(val); 
elm.val(val + 1); 
+0

Donne des résultats bizarres sur les chaînes non numériques. – thr

+0

C'est un peu ce que je veux, mais je ne veux pas ajouter le numéro 1 - je veux ajouter 1 dessus? Y at-il un moyen de le faire ... 10> 11 après l'exécution de mon code – tarnfeld

+0

Essayez avec le code mis à jour. – Marius

2

En utilisant jQuery, la manipulation aussi la condition vide quand il n'y a pas de valeur actuelle

inp = $("#inputId"); 
var orgValue = parseInt(inp.val() == "" ? "0" : inp.val()); 
inp.val((orgValue == NaN ? 0 : orgValue) + 1); 
+0

parseInt retourne NaN si la la valeur est non numérique. NaN + 1 = NaN. – Marius

+0

devrait fonctionner pour NaN maintenant – thr

+1

ussing parseInt vous supposez que le champ contient un entier. Il peut contenir un nombre décimal, auquel cas la fonction Number() est meilleure. – Marius

Questions connexes