J'ai un formulaire de commande, auquel je peux ajouter des champs en cliquant sur un bouton. J'ai un backend javascript en cours d'exécution qui totalise le prix de la commande, mais le script total est éludé moi.javascript - recherche plusieurs html #ID et passe à la fonction
Mon problème est que j'ai besoin du script pour rechercher le DOM entier et trouver combien ont un ID qui correspond au modèle suivant.
totprice01 totprice02 totprice03 totprice (n)
Je joue avec cette expression régulière, mais pas beaucoup de chance j'ai peur:
matchStr = new RegExp("\\btotprice\\d{2}\\b", "gi");
Une fois que je l'ai J'ai obtenu un tableau de tous les identifiants HTML dont j'ai besoin pour les transmettre dans une fonction qui ressemble à ceci: notez que tout est codé en dur, pas du tout dynamique:
document.getElementById('totpricetot').value = Math.round((parseFloat(document.getElementById('totprice1').value)+parseFloat(document.getElementById('totprice2').value)+parseFloat(document.getElementById('totprice3').value)+parseFloat(document.getElementById('totprice4').value)+parseFloat(document.getElementById('totprice5').value)+parseFloat(document.getElementById('totprice6').value)+parseFloat(document.getElementById('totprice7').value)+parseFloat(document.getElementById('totprice8').value)+parseFloat(document.getElementById('totprice9').value)+parseFloat(document.getElementById('totprice10').value))*100)/100;
Est-ce que quelqu'un est capable de m'aider à mettre cela en expression + fonction pour retourner la somme de toutes les valeurs?
Merci beaucoup!
EDIT
OK j'ai décidé de fossé juste en utilisant plaine ol » javascript - JQuery est! J'ai mis en place ce code en utilisant certains des exemples ci-dessous, mais quelqu'un peut-il m'aider à le déboguer? Je continue à obtenir des erreurs "non définies" du débogueur - il semble que cette fonction n'est pas disponible pour le reste du DOM?
<input id="totprice08" onChange="totChange()" class="total_field" />
<input id="totprice09" onChange="totChange()" class="total_field" />
<input id="totprice10" onChange="totChange()" class="total_field" />
etc...
<input id="totpricetot" value="0.00" name="totpricetot" />
jQuery(function($) {
function totChange() {
var sum=0;
$('.total_field').each(function() {
sum += $(this).val() * 1;
});
$('#totpricetot').val(sum);
}
});
Il n'y a pas besoin de mettre cette fonction à l'intérieur prêt fonction de jQuery. ..C'est pourquoi vous ne pouvez pas y accéder – peirix
ahh vous vous moquez de moi! Tout cela fonctionnait maintenant - merci beaucoup :) – MrFidge