Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.01.2017, 21:54
Новичок на форуме
Отправить личное сообщение для heslik Посмотреть профиль Найти все сообщения от heslik
 
Регистрация: 25.01.2017
Сообщений: 8

нужно сделать разделитель к тысячам в сумме
Здравствуйте, у меня на сайте есть элемент с 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;
    }
Ответить с цитированием
  #2 (permalink)  
Старый 25.01.2017, 22:34
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

var str = "3830010";
alert(str.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 '));
Ответить с цитированием
  #3 (permalink)  
Старый 25.01.2017, 22:37
Новичок на форуме
Отправить личное сообщение для heslik Посмотреть профиль Найти все сообщения от heslik
 
Регистрация: 25.01.2017
Сообщений: 8

Сообщение от TestUser013 Посмотреть сообщение
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));
?
Ответить с цитированием
  #4 (permalink)  
Старый 25.01.2017, 23:13
Новичок на форуме
Отправить личное сообщение для heslik Посмотреть профиль Найти все сообщения от heslik
 
Регистрация: 25.01.2017
Сообщений: 8

попробовал так -
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 , в общем первому кто поможет скину бакс на вебмани.. понимаю что не много, но все же пусть будет бонусом..
Ответить с цитированием
  #5 (permalink)  
Старый 26.01.2017, 12:02
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

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
Ответить с цитированием
  #6 (permalink)  
Старый 26.01.2017, 12:52
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

С таким же результатом работает вот такой вариант
<!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>
Ответить с цитированием
  #7 (permalink)  
Старый 26.01.2017, 13:33
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от heslik
но как это прикрутить к этому:
d1.innerHTML = Onepage.formatCurrency((1+parseFloat(op_custom_tax_rate))*parseFloat(order_total));
Так и прикрутить...

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);
Ответить с цитированием
  #8 (permalink)  
Старый 26.01.2017, 13:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от heslik
в общем первому кто поможет скину бакс на вебмани..
Я пиво покупаю у приятеля за 80р бутылка...
Жуть какая-то творится в стране.
Ответить с цитированием
  #9 (permalink)  
Старый 26.01.2017, 14:09
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

ksa,
Как показывает проверка onepage.js, прикручивать ничего не надо - он и сам так умеет, только скажи... (см. пост 6)
Ответить с цитированием
  #10 (permalink)  
Старый 26.01.2017, 14:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от Dilettante_Pro
прикручивать ничего не надо - он и сам так умеет, только скажи
Значит пусть отправляет свой бакс разработчикам...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно сделать простую форму на Jquery Tema52 Работа 2 08.06.2011 07:43
Нужно сделать выпадающий select с кроссбраузерностью. aleks7890 Библиотеки/Тулкиты/Фреймворки 1 12.05.2011 12:58
Нужно сделать радио на сайт. raktor Работа 8 30.09.2010 19:55
Нужно сделать скрипт для сплит тестинга Евгений Болгов Работа 3 30.11.2009 10:49
Нужно сделать плавное появление текстового поля как на сайте vkontakte.ru paratrooper1981 Элементы интерфейса 1 23.11.2009 18:24