
نوشته اصلی توسط
mojtaba05
به خاطر اینه که مقدار کل از محاسبه مقدار جز به دست میاد. با گذاشتن کاما، مقدار جز از حالت عددی خارج میشه و مقدار کل در محاسبه به مشکل می خوره و NaN رو برمی گردونه. می تونید یک متغیر جداگانه بسازید که نمایش داده نشه و فقط برای محاسبه به کار بره، یا با replace کردن، قبل از محاسبه کاما رو حذف کنید.
ممنون دستتون درد نکنه من از این کد استفاده کردم ایراد خاصی ندارد ؟
کد HTML:
$(document).ready(function(){
// add comma
function addComma( str ) {
var objRegex = new RegExp( '(-?[0-9]+)([0-9]{3})' );
while( objRegex.test( str ) ) {
str = str.replace( objRegex, '$1,$2' );
}
return str;
}
var cur = " تومان";
cal = function(){
var card = $(".card:checked").val();
var splitCard = card.split(':');
splitCard = splitCard[1];
var quantity = $("#quantity");
var price = parseInt(splitCard);
if(price){
var num = quantity.val();
var total_price = price * num;
if(num.length == 0)
num = 0;
$("#unit_price").text(addComma(price + cur));
$("#total").text(addComma(total_price + cur));
}
}
$(".card").change(function(){
var card = $(this);
$(".card").removeAttr("checked");
card.attr("checked", "checked");
cal();
});
$("#quantity").keyup(function(){
cal();
});
});