нужно сделать разделитель к тысячам в сумме
Здравствуйте, у меня на сайте есть элемент с id - tt_total там считается общая сумма, и выводится она например как 10000, а нужно чтобы был пробел в тысячах и было так - 10 000 , ниже функция где это все считается, почитав в инете форумы и книги нашел что возможно поможет добавление строки
обьект.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');но как я не пробовал ее туда добавить не помогает..
if ((op_show_only_total != null) && (op_show_only_total == true))
{
stru = document.getElementById('tt_total_txt')
if (stru != null)
str = srtu.innerHTML;
else str = '';
if (str == '')
{
d1 = document.getElementById('tt_total_txt');
if (d1 != null)
d1.innerHTML = op_textinclship;
}
if ((op_custom_tax_rate != null) && (op_add_tax != null) && (op_custom_tax_rate != '') && (op_add_tax == true))
{
d1 = document.getElementById('tt_total');
if (d1 != null)
d1.innerHTML = Onepage.formatCurrency((1+parseFloat(op_custom_tax_rate))*parseFloat(order_total));
/*d1.innerHTML = d1.innerHTML.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');*/ возможно полный бред, но пытался как мог..
}
else
{
d1 = document.getElementById('tt_total');
if (d1 != null)
d1.innerHTML = Onepage.formatCurrency(order_total);
/*d1.innerHTML = d1.innerHTML.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');*/ возможно полный бред, но пытался как мог..
}
d1 = document.getElementById('tt_order_payment_discount_before_div');
if (d1 != null)
d1.style.display = "none";
d1 = document.getElementById('tt_order_discount_before_div');
if (d1 != null) d1.style.display = "none";
d1 = document.getElementById('tt_order_subtotal_div');
if (d1 != null) d1.style.display = 'none';
d1 = document.getElementById('tt_shipping_rate_div');
if (d1 != null) d1.style.display = 'none';
d1 = document.getElementById('tt_shipping_tax_div');
if (d1 != null) d1.style.display = 'none';
return true;
}
|
var str = "3830010"; alert(str.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ')); |
Цитата:
d1.innerHTML = Onepage.formatCurrency((1+parseFloat(op_custom_tax_rate))*parseFloat(order_total));? |
попробовал так -
var ddd;
if ((op_custom_tax_rate != null) && (op_add_tax != null) && (op_custom_tax_rate != '') && (op_add_tax == true))
{
d1 = document.getElementById('tt_total');
if (d1 != null)
ddd = Onepage.formatCurrency((1+parseFloat(op_custom_tax_rate))*parseFloat(order_total));
d1.innerHTML = ddd.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
}
else
{
d1 = document.getElementById('tt_total');
if (d1 != null)
ddd = Onepage.formatCurrency(order_total);
d1.innerHTML = ddd.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
}
но не работает.. вот весь файл https://yadi.sk/d/QJWGfJRu3Au9ug , в общем первому кто поможет скину бакс на вебмани.. понимаю что не много, но все же пусть будет бонусом.. |
heslik,
Попробовал вот такой макетик
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="scripts/onepage.js"></script>
</head>
<body>
<div id='d1'></div>
</body>
<script>
var op_vendor_style = "";
var op_no_decimals = true;
var op_curr_after = false;
var op_currency = "$";
var order_total = 10000;
var ddd = Onepage.formatCurrency(order_total);
d1.innerHTML = ddd.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
</script>
</html>
Все работает ОК, рисует $ 10 000 |
С таким же результатом работает вот такой вариант
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="scripts/onepage.js"></script>
</head>
<body>
<div id='d1'></div>
</body>
<script>
var op_vendor_style = "|||| |||";
var op_no_decimals = true;
var op_curr_after = false;
var op_currency = "$";
var order_total = 10000;
d1.innerHTML = Onepage.formatCurrency(order_total);
</script>
</html>
|
Цитата:
var val=(1+parseFloat(op_custom_tax_rate))*parseFloat(order_total)
val=(''+val).replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
d1.innerHTML = Onepage.formatCurrency(val);
|
Цитата:
Жуть какая-то творится в стране. :( |
ksa,
Как показывает проверка onepage.js, прикручивать ничего не надо - он и сам так умеет, только скажи... (см. пост 6) |
Цитата:
|
| Часовой пояс GMT +3, время: 16:08. |