توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : محاسبه قیمت واحد و قیمت کل توسط جاوا اسکریپت
<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 کند و آن را چاپ کند. لطفا راهنمایی کنید ممنون
mojtaba05
November 26th, 2015, 20:48
سلام، دلیل وجود 1234 و 5678 داخل value دکمه های رادیویی چیه؟
mpc
November 26th, 2015, 21:05
سلام، دلیل وجود 1234 و 5678 داخل value دکمه های رادیویی چیه؟
سلام من توی php عدد قبل : رو جدا می کنم و با اون مشخص می کنم که کاربر چه محصولی رو انتخاب کرده برای خرید کردن چون نام رادیوباکس ها همشون یکیه و نمی شه مشخص کرد توسط نام که کاربر کدام محصول رو انتخاب کرده
<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);
});
})
<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);
});
})
$(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);
});
});
mojtaba05
November 27th, 2015, 20:21
این قسمت که توی کد من اول بود، رو مجددا بیارید اول. قبل از تابع تون:
$(function(){
یعنی این جوری میشه:
$(function(){
function addComma(str){
var objRegex = new RegExp('(-?[0-9]+)([0-9]{3})');
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);
});
});
بعد می خام برای هر دوتاشونم اونطوری بینشون کاما بزاره
mojtaba05
November 27th, 2015, 20:59
به خاطر اینه که مقدار کل از محاسبه مقدار جز به دست میاد. با گذاشتن کاما، مقدار جز از حالت عددی خارج میشه و مقدار کل در محاسبه به مشکل می خوره و NaN رو برمی گردونه. می تونید یک متغیر جداگانه بسازید که نمایش داده نشه و فقط برای محاسبه به کار بره، یا با replace کردن، قبل از محاسبه کاما رو حذف کنید.
mpc
November 27th, 2015, 22:00
به خاطر اینه که مقدار کل از محاسبه مقدار جز به دست میاد. با گذاشتن کاما، مقدار جز از حالت عددی خارج میشه و مقدار کل در محاسبه به مشکل می خوره و NaN رو برمی گردونه. می تونید یک متغیر جداگانه بسازید که نمایش داده نشه و فقط برای محاسبه به کار بره، یا با replace کردن، قبل از محاسبه کاما رو حذف کنید.
ممنون دستتون درد نکنه من از این کد استفاده کردم ایراد خاصی ندارد ؟
$(document).ready(function(){
// add comma
function addComma( str ) {
var objRegex = new RegExp( '(-?[0-9]+)([0-9]{3})' );
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;