2016-02-25 3 views
-3

На странице продукта цена отображается в два диапазона тега:Получить значение из диапазона тега и вычитать% от него (JavaScript)

<div class="price-container"> 
    <span class="price-regular"> 
     <span class="price">$10.00</span> 
    </span> 
</div> 

То, что я хочу сделать, это вычесть 15% от обычной цены и отобразите вычитаемую сумму ниже нее. Как я могу это сделать, поскольку поле цены является динамическим, а значение также содержит знак $? Мне нужно сделать расчет с использованием JavaScript, но я все еще его изучаю.

+1

Какую часть вы точно не знаете, как это сделать? Получение содержимого диапазона, удаление $, вывод 15% или что-то еще? – JJJ

+1

Как выглядит ваш HTML-код? Как можно узнать, как вы хотите отображать его? Много ли таких элементов на странице? Как вы хотите, чтобы отформатированная цена была отформатирована? Какой еще код у вас есть? Ваш вопрос строго отсутствует. –

+1

Добро пожаловать в StackOverflow; пожалуйста, прочитайте нашу страницу [ask], чтобы улучшить свой вопрос. Большие вопросы становятся быстрее, лучше ответы – ochi

ответ

0

Вы можете показать скорректированную цену, получив текущую цену, а затем выполнив математику, чтобы выполнить настройку. Наконец, добавьте скидку в HTML DOM.

HTML

<span class="price">$10.00</span> 

JavaScript

//build an array with all the prices 
var spans = document.getElementsByClassName('price'); 

//set the discount 
var discount = .15; 

//loop over all the prices 
for(var i = 0; i < spans.length; i++) { 
    //get the price 
    var price = spans[i].innerHTML; 

    //remove the dollar sign 
    price = price.replace('$',''); 
    //convert the price to a float 
    price = parseFloat(price); 
    //apply the discount, and use toFixed(2) for ensure we keep 2 decimal places 
    var discountedPrice = (price * (1-discount)).toFixed(2); 

    //update the HTML by adding the discounted price below the original 
    spans[i].innerHTML = '<s>'+spans[i].innerHTML + '</s><br />$' + discountedPrice; 

} 

Вы можете видеть, что работает в этом JS скрипку: https://jsfiddle.net/x4zjkv68/2/

Надежда, что помогает!

+0

ничего себе. это все, что мне нужно. Вера в человечество восстановлена. –

Смежные вопросы