Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 20.06.2016, 16:25
Аспирант
Отправить личное сообщение для Meattale Посмотреть профиль Найти все сообщения от Meattale
 
Регистрация: 16.06.2016
Сообщений: 32

Дело все в том, что задать значение в строке товаров нужно потому, что ндс не всегда 18 процентов. И получается чтобы для каждого товара выводило инфу сколько ндс в процентах, следом сумму ндс от цены и далее ндс от цены + итого цена за товар.
Проблема именно в том, чтобы ввести переменную и заставить ее выводиться из строки
var priceList = {
	"001" : {"id" : "001", "subid" : {}, "name" : "IPhone 5", "subname" : {}, "nds" : "18", "price" : "100"},
	"002" : {"id" : "002", "subid" : {}, "name" : "IPad MINI", "subname" : {}, "price" : "200"}
	};
Ответить с цитированием
  #12 (permalink)  
Старый 20.06.2016, 17:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А сразу указывать с НДС цену товара что нельзя?

Если надо, ну так у вас во-первых не строка, а объект, свойства которого вы получаете: this.DATA[idkey].num, this.DATA[idkey].price и т.д., ну какие проблемы получить НДС - this.DATA[idkey].nds.

Во-вторых проценты НДС, это часть от 100, и 18% нужно записывать не как 18, а как .18 или 0.18. Коли прописываете этот объект руками, то записывать можно так (числа совсем не обязательно обрамлять кавычками, как и имена свойств объекта)

var priceList = {
    "001" : {id : "001", subid : {}, name : "IPhone 5", subname : {}, nds : .18, price : 100},
    "002" : {id : "002", subid : {}, name : "IPad MINI", subname : {}, nds : .14, price : 200}
    };


Но не зависимо от того с этого ли объекта берутся свойства или уже из локального хранилища после JSON.parse, parseInt и parseFloat не нужен в расчетах. Собственно и id : "001" в объекте тоже не нужен, он и так прописан как свойство объекта priceList.

Вот только на изображении корзины надо полагать Всего, это за каждый товар, а значит эта цена должна быть с НДС, а итоговая сумма, это не

sum += parseFloat(parseInt(this.DATA[idkey].num) * parseFloat(this.DATA[idkey].price));

а сумма всех "Всего" за каждый товар. То есть при выводе таблицы корзины считаем Всего для каждого товара:

var tot = this.DATA[idkey].price * this.DATA[idkey].num + this.DATA[idkey].price * this.DATA[idkey].nds;  

sum += tot;
Ответить с цитированием
  #13 (permalink)  
Старый 20.06.2016, 18:46
Аспирант
Отправить личное сообщение для Meattale Посмотреть профиль Найти все сообщения от Meattale
 
Регистрация: 16.06.2016
Сообщений: 32

laimas,
Вот это уже более похоже на то, что мне нужно.
Дело в том, я не совсем понимаю что куда в данном случае вставить или что где объявить. Если не сложно - можно "на пальцах"
Сообщение от laimas
Вот только на изображении корзины надо полагать Всего, это за каждый товар, а значит эта цена должна быть с НДС, а итоговая сумма, это не
там всего это именно за этот товар. Итого по счету подводится внизу.
Ответить с цитированием
  #14 (permalink)  
Старый 21.06.2016, 05:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Зачем парить мозги себе и покупателям НДС и ценой без нее, прекрасно зная, что по этой цене товар купить нельзя?
Ответить с цитированием
  #15 (permalink)  
Старый 22.06.2016, 12:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Meattale,

исправлено, цена набранного товара должно быть:

var price = this.DATA[idkey].price + this.DATA[idkey].price * this.DATA[idkey].nds,  total = price * this.DATA[idkey].num;
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать такую страницу mortido Элементы интерфейса 11 02.10.2014 07:20
Как в фильтр выборки по атрибуту занести переменную? tanto39 jQuery 9 29.06.2014 01:53
Передать переменную и по её значению сделать выбор из selecta SeGun Элементы интерфейса 9 31.03.2014 22:32
Как сделать локальную переменную глобальной?? Дмитрий Общие вопросы Javascript 8 02.11.2010 03:33
Как обозначить переменную выбранную в FileChooser? woo_hoo Общие вопросы Javascript 4 03.07.2008 12:58