-
November 26th, 2015, 20:35
#1
عضو جدید
محاسبه قیمت واحد و قیمت کل توسط جاوا اسکریپت
با سلام من یک کد دارم به این شکل
کد HTML:
<label><input type="radio" name="radiobox" id="card" value="1234:5000"> کارت اول</label>
<label><input type="radio" name="radiobox" id="card" value="5678:10000"> کارت دوم</label>
<input type="number" name="quantity" id="quantity" min="0">
<p>قیمت واحد : <span id="unit_price">0</span></p>
<p>قیمت کل : <span id="total">0</span></p>
حالا می خام توسط جاوااسکریپت با کلیک کردن روی کارت اول یا دوم اعداد بعد از : را جدا کرده و با تعداد فیلد number ضرب کند و توی ای دی total نمایش دهد خروجی را و همچنین عدد جدا شده بعد از : را نیز درون ای دی unit_price نمایش دهد مثلا 1234:5000 در اینجا 5000 را ضرب در تعداد مثلا 1 2 ... n کند و آن را چاپ کند. لطفا راهنمایی کنید ممنون
ویرایش توسط mpc : November 26th, 2015 در ساعت 20:39
-
-
November 26th, 2015 20:35
# ADS
-
November 26th, 2015, 20:48
#2
عضو انجمن
پاسخ : محاسبه قیمت واحد و قیمت کل توسط جاوا اسکریپت
سلام، دلیل وجود 1234 و 5678 داخل value دکمه های رادیویی چیه؟
-
-
November 26th, 2015, 21:05
#3
عضو جدید
پاسخ : محاسبه قیمت واحد و قیمت کل توسط جاوا اسکریپت

نوشته اصلی توسط
mojtaba05
سلام، دلیل وجود 1234 و 5678 داخل value دکمه های رادیویی چیه؟
سلام من توی php عدد قبل : رو جدا می کنم و با اون مشخص می کنم که کاربر چه محصولی رو انتخاب کرده برای خرید کردن چون نام رادیوباکس ها همشون یکیه و نمی شه مشخص کرد توسط نام که کاربر کدام محصول رو انتخاب کرده
-
-
November 27th, 2015, 01:03
#4
پاسخ : محاسبه قیمت واحد و قیمت کل توسط جاوا اسکریپت
-
تعداد تشکر ها ازwoods_f به دلیل پست مفید
-
November 27th, 2015, 09:55
#5
عضو انجمن
پاسخ : محاسبه قیمت واحد و قیمت کل توسط جاوا اسکریپت
سلام،
اگر می تونید از جی کویری استفاده کنید به این شکل عمل کنید:
html:
کد:
<p><label for="card1"> کارت اول</label><input type="radio" name="radiobox" id="card1" value="1234:5000"></p>
<p><label for="card2"> کارت دوم</label><input type="radio" name="radiobox" id="card2" value="5678:10000"></p>
<input type="number" name="quantity" id="quantity" min="0">
<p>قیمت واحد : <span id="unit_price">0</span></p>
<p>قیمت کل : <span id="total">0</span></p>
js:
کد:
$(function(){
$('input[name="radiobox"]').change(function(){
var card = $(this).val();
var splitCard = card.split(':');
splitCard = splitCard[1];
$('#unit_price').text(splitCard);
var total = $('#quantity').val() * splitCard;
$('#total').text(total);
});
$('#quantity').keyup(function(){
var quantity = $(this).val();
var unit = $('#unit_price').text();
var total = unit * quantity;
$('#total').text(total);
});
})
دموی آنلاین: http://jsfiddle.net/sabeti05/1vfmu2gg/
فراموش نکنید که قبلش باید جی کویری رو فراخوانی کرده باشید.
-
تعداد تشکر ها از mojtaba05 به دلیل پست مفید
-
November 27th, 2015, 20:07
#6
عضو جدید
پاسخ : محاسبه قیمت واحد و قیمت کل توسط جاوا اسکریپت

نوشته اصلی توسط
mojtaba05
سلام،
اگر می تونید از جی کویری استفاده کنید به این شکل عمل کنید:
html:
کد:
<p><label for="card1"> کارت اول</label><input type="radio" name="radiobox" id="card1" value="1234:5000"></p>
<p><label for="card2"> کارت دوم</label><input type="radio" name="radiobox" id="card2" value="5678:10000"></p>
<input type="number" name="quantity" id="quantity" min="0">
<p>قیمت واحد : <span id="unit_price">0</span></p>
<p>قیمت کل : <span id="total">0</span></p>
js:
کد:
$(function(){
$('input[name="radiobox"]').change(function(){
var card = $(this).val();
var splitCard = card.split(':');
splitCard = splitCard[1];
$('#unit_price').text(splitCard);
var total = $('#quantity').val() * splitCard;
$('#total').text(total);
});
$('#quantity').keyup(function(){
var quantity = $(this).val();
var unit = $('#unit_price').text();
var total = unit * quantity;
$('#total').text(total);
});
})
دموی آنلاین:
http://jsfiddle.net/sabeti05/1vfmu2gg/
فراموش نکنید که قبلش باید جی کویری رو فراخوانی کرده باشید.
ممنون این تابع addComma رو چطوری اضافه کنم بهشون اضافه نمی شه
کد:
function addComma(str){
var objRegex = new RegExp('(-?[0-9]+)([0-9]{3})');
while(objRegex.test(str)){
str = str.replace(objRegex, '$1,$2');
}
return str;
}
$(function(){
$('input[name="radiobox"]').change(function(){
var card = $(this).val();
var splitCard = card.split(':');
splitCard = splitCard[1];
$('#unit_price').text(splitCard);
var total = $('#quantity').val() * splitCard;
$('#total').text(total);
});
$('#quantity').keyup(function(){
var quantity = $(this).val();
var unit = $('#unit_price').text();
var total = unit * quantity;
$('#total').text(total);
});
});
-
-
November 27th, 2015, 20:21
#7
عضو انجمن
پاسخ : محاسبه قیمت واحد و قیمت کل توسط جاوا اسکریپت
این قسمت که توی کد من اول بود، رو مجددا بیارید اول. قبل از تابع تون:
یعنی این جوری میشه:
کد:
$(function(){
function addComma(str){
var objRegex = new RegExp('(-?[0-9]+)([0-9]{3})');
while(objRegex.test(str)){
str = str.replace(objRegex, '$1,$2');
}
return str;
}
$('input[name="radiobox"]').change(function(){
var card = $(this).val();
var splitCard = card.split(':');
splitCard = splitCard[1];
$('#unit_price').text(splitCard);
var total = $('#quantity').val() * splitCard;
$('#total').text(total);
});
$('#quantity').keyup(function(){
var quantity = $(this).val();
var unit = $('#unit_price').text();
var total = unit * quantity;
$('#total').text(total);
});
});
-
-
November 27th, 2015, 20:27
#8
عضو جدید
پاسخ : محاسبه قیمت واحد و قیمت کل توسط جاوا اسکریپت
می دونم ولی وقتی addComma رو به کد
کد:
$('#unit_price').text(splitCard);
$('#unit_price').text(addComma(splitCard));
اضافه می کنم این طوری می شه
قیمت واحد : 25,000 |
قیمت کل : NaN |
بعد می خام برای هر دوتاشونم اونطوری بینشون کاما بزاره
ویرایش توسط mpc : November 27th, 2015 در ساعت 20:28
-
-
November 27th, 2015, 20:59
#9
عضو انجمن
پاسخ : محاسبه قیمت واحد و قیمت کل توسط جاوا اسکریپت
به خاطر اینه که مقدار کل از محاسبه مقدار جز به دست میاد. با گذاشتن کاما، مقدار جز از حالت عددی خارج میشه و مقدار کل در محاسبه به مشکل می خوره و NaN رو برمی گردونه. می تونید یک متغیر جداگانه بسازید که نمایش داده نشه و فقط برای محاسبه به کار بره، یا با replace کردن، قبل از محاسبه کاما رو حذف کنید.
-
تعداد تشکر ها از mojtaba05 به دلیل پست مفید
-
November 27th, 2015, 22:00
#10
عضو جدید
پاسخ : محاسبه قیمت واحد و قیمت کل توسط جاوا اسکریپت

نوشته اصلی توسط
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();
});
});
-