Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.02.2014, 20:06
Аспирант
Отправить личное сообщение для alexmixaylov Посмотреть профиль Найти все сообщения от alexmixaylov
 
Регистрация: 14.09.2013
Сообщений: 70

Цена с рублями, нужно оставить только цифры
Хочу сделать проверку и написать условие
ячейка содержит цену и символы валюты (руб.)

например 1800 руб.

мне нужно чтобы скрипт считал сумму
а текстовые символы мешают

как сделать чтобы скрипт учитывал только число, но не принимал во внимание буквы????

СПАСИБО
Ответить с цитированием
  #2 (permalink)  
Старый 03.02.2014, 20:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,120

alexmixaylov, поиск!!!
только цифры
Ответить с цитированием
  #3 (permalink)  
Старый 04.02.2014, 11:08
Аспирант
Отправить личное сообщение для alexmixaylov Посмотреть профиль Найти все сообщения от alexmixaylov
 
Регистрация: 14.09.2013
Сообщений: 70

Спасибо почитал
но все равно не понял
может нечетко сформулировал вопрос
уточню

есть ячейка со значением 1000 руб.
для расчета стоимости доставки нужно получить числовое значение
Ответить с цитированием
  #4 (permalink)  
Старый 04.02.2014, 11:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,120

alexmixaylov,
нарисуйте вашу ячейку в html
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #5 (permalink)  
Старый 04.02.2014, 13:25
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

var num = "1800 руб.";
      alert(+num.replace(" руб.", "") + 10);
      alert(+num.slice(0, -5) + 20);
Ответить с цитированием
  #6 (permalink)  
Старый 04.02.2014, 14:05
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

var price = '1000 руб.';
alert(parseFloat(price));
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 04.02.2014, 14:35
Аспирант
Отправить личное сообщение для alexmixaylov Посмотреть профиль Найти все сообщения от alexmixaylov
 
Регистрация: 14.09.2013
Сообщений: 70

сделал так
var getSumm = document.getElementById('total').innerHTML;/*получаем значение корзины*/
      var summa = getSumm.replace(/[^\d]/gi, ''); /*убираем буквы и пробелы*/


спасибо всем за помощь
теперь нужно чтобы элемент с id="total" определялся не один раз
а отслеживались изменения его значения
Ответить с цитированием
  #8 (permalink)  
Старый 04.02.2014, 14:55
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

alexmixaylov, можно узнать почему не подошел parseInt() / parseFloat() ?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 04.02.2014, 15:06
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Цитата:
теперь нужно чтобы элемент с id="total" определялся не один раз
а отслеживались изменения его значения
#total - это инпут?тогда
document.getElementById('total').addEventListener('onchange',function(){
//твой код на ончейндж
})

если это не инпут а див например - то setInterval() используй

Кстати я честно не помню как addEventListener объявляется, так что тупо копировать не стоит.
Ответить с цитированием
  #10 (permalink)  
Старый 04.02.2014, 15:25
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от krasovsky
#total - это инпут?
Врядли, если он через innerHTML забирает цену.
Сообщение от krasovsky
если это не инпут а див например - то setInterval() используй
Очень хреновый совет. Это как спрятать какую-то вещь от самого себя и тут же начать ее искать )))
Цену (свойство total.innerHTML) ты сам ведь меняешь (через скрипт), соответственно незачем "вслепую", по интервалу отлавливать это изменение.
Сообщение от krasovsky
Кстати я честно не помню как addEventListener объявляется
Не onchange, а change
__________________
В личку только с интересными предложениями

Последний раз редактировалось danik.js, 04.02.2014 в 15:27.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно чтобы считывало value только из выбраного radio difurios Javascript под браузер 6 03.02.2013 18:59
jQuery UI Datepicker включается только со второго клика по инпуту, нужно с первого adelante jQuery 3 07.07.2012 14:53
нужно добавить только одну вещь Александр х@к Элементы интерфейса 9 27.10.2011 23:43
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ ТОЛЬКО ЦИФРЫ Amateur Internet Explorer 3 19.06.2011 07:20
Фильтр. Допускаются только цифры. балерун Элементы интерфейса 11 11.12.2009 16:12