нужно сделать разделитель к тысячам в сумме
Здравствуйте, у меня на сайте есть элемент с 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:52. |