Bonjour,

Pour une appli assez spécifique je fait une application et je galère depuis le début (1 semaine) à faire une modification.

Voila ce que je doit faire :

TITRE / Prix Pour 10Gramme / Quantité / Total

Quand je rentre un Titre (auto-complétion) j'ai le prix pour 10 gramme qui se met, je doit pouvoir mettre dans quantité "10".

Le code original est :

Prix X Quantité = Prix Donc 10 X 1 = 10

Moi je souhaite

Prix X 10 Gramme = Prix donc 5 X 10 = 5 ou 5 X 20 = 20 ou 100 X 10 = 100

Pour l'instant j'ai une méthode qui fonctionne sauf que celui est bancal et me fait des bugs (si j'ai un article à 10€ cela fonctionne pas)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
$(document).on('change keyup blur','.changesNo',function(){
	id_arr = $(this).attr('id');
	id = id_arr.split("_");
	quantity = $('#quantity_'+id[1]).val();
	price = $('#price_'+id[1]).val();
	if( quantity!='10' && price !='' ) $('#total_'+id[1]).val( (parseFloat(price)* parseFloat(quantity) /100).toFixed(2) );	
	calculateTotal();
});
En espérant avoir été clair pas super facile à expliqué

Merci à d'avance pour le coup de main


EDITION:

J'ai trouve une solution apparement sans bug
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
var poid = 10;
var poids2 = 100;
 
//price change
$(document).on('change keyup blur','.changesNo',function(){
	id_arr = $(this).attr('id');
	id = id_arr.split("_");
	quantity = $('#quantity_'+id[1]).val();
	price = $('#price_'+id[1]).val();
	if( quantity!='' && price !='' ) $('#total_'+id[1]).val( (parseFloat(price)* parseFloat(quantity) * poids/ poids2).toFixed(2) );	
	calculateTotal();
});