J'utilise des tables de données, après avoir cliqué sur le bouton de pagination, la somme s'ajoute. Aide appréciée. Merci d'avance Chaque fois que je clique sur le bouton, le même chiffre s'ajoute. comme déjà présent. Je veux par exemple, si c'est 23.2323.23, je veux garder 23.23 et supprimer après cela
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <label>Total amount:23.2323.233</label> <button id=btn>Click</button>
$("#btn").click(function() {
$("label").text($("label").text().replace(/[0-9]{2}\.[0-9][0-9]$/g, ''));
$("label").append("55")
});
4 Réponses :
essayez ceci
parseFloat('23.2323.233').toFixed(2)
Cela ne supprimerait pas la chaîne mais la transformerait en 23.23
(Je ne suis pas très clair sur votre question.) si vous souhaitez supprimer la chaîne de l'étiquette, procédez comme suit
$("label").empty().append("55")
Jetons d'abord un coup d'œil à votre essai.
Vous avez utilisé Le modèle que vous êtes la recherche est digits.digits.digits.digits ... si vous l'exprimez avec une expression régulière, digits (.digits) +, cela conduit à Le code final devrait donc être: Modifier: strong > /[0-9ITED{2}\.
cela signifie deux chiffres suivis d'un point suivi de deux chiffres ( $ signifie qu'il doit se terminer par lui. par exemple, 23.23) ce qui n'est certainement pas le modèle que vous recherchez. / [0-9] + (\ . [0-9] +) + $("label").text($("label").text().replace(/[0-9]+(\.[0-9]+)+/g, $("label").text().match(/([0-9]+)\.[0-9]{2}/)[0]));
$("label").text($("label").text().replace(/[0-9]+(\.[0-9]+)+/g, ''));
J'ai essayé ceci et cela fonctionne mais le problème est: il supprime le chiffre avant la décimale. Comme 1250.33 ira à 1250
si vous ne voulez pas supprimer le chiffre avant la décimale, c'est facile. utilisez simplement /(\.[0-9ITED+)+/g puis
je veux supprimer tous les chiffres après 2 chiffres décimaux
par exemple, si c'est 23.2323.23, vous voulez garder 23.23 et supprimer après cela?
veuillez ajouter le paragraphe edit dans ma réponse. veuillez vérifier si cela fonctionne pour vous.
à mon avis, si vous supprimez tout avant d'ajouter de la première fois, ce problème ne se produira jamais
continuons cette discussion dans le chat .
Je pense que vous souhaitez supprimer complètement la valeur numérique précédente indiquée dans l'étiquette avant d'ajouter une nouvelle valeur.
Vous souhaitez donc conserver le Montant total: uniquement. Ajoutez ensuite la valeur que vous avez obtenue à partir de DataTable après la pagination ...
Qu'en est-il du .split () alors?
il crée un tableau basé sur un "séparateur".
Dans votre cas, j'utiliserais le caractère : et conserverais le premier élément du tableau.
Notez que vous devez rajouter le :...
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <label>Total amount:<span id="DT_sum">23.23</span></label> <button id="btn">Click</button>
$("#btn").click(function() {
var value_from_DT = 55.72;
$("#DT_sum").text(value_from_DT);
});
Une autre façon, ce serait mieux , serait d'avoir une span dédiée spécifiquement pour la valeur numérique:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <label>Total amount:23.23</label> <button id="btn">Click</button>
$("#btn").click(function() {
var value_from_DT = 55.72;
$("label").text($("label").text().split(":")[0]+":");
$("label").append(value_from_DT)
});
De quelle chaîne parlez-vous?
quelle est cette chaîne et pourquoi voulez-vous la supprimer?
Assez déroutant, vous ajoutez toujours «55» à chaque fois que vous cliquez sur le bouton. Que voulez-vous exactement remplacer? Est-ce le nombre de décimales ou de quelle chaîne vous parlez?
Supprimé le «55» et remplacez-le de votre somme variable afin qu'il se mette à jour. Ou pour le rendre plus clair, placez tout votre code.