Дело все в том, что задать значение в строке товаров нужно потому, что ндс не всегда 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"} }; |
А сразу указывать с НДС цену товара что нельзя?
Если надо, ну так у вас во-первых не строка, а объект, свойства которого вы получаете: 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; |
laimas,
Вот это уже более похоже на то, что мне нужно. Дело в том, я не совсем понимаю что куда в данном случае вставить или что где объявить. Если не сложно - можно "на пальцах" Цитата:
|
Зачем парить мозги себе и покупателям НДС и ценой без нее, прекрасно зная, что по этой цене товар купить нельзя?
|
Meattale,
исправлено, цена набранного товара должно быть: var price = this.DATA[idkey].price + this.DATA[idkey].price * this.DATA[idkey].nds, total = price * this.DATA[idkey].num; |
Часовой пояс GMT +3, время: 12:17. |