Показать сообщение отдельно
  #4 (permalink)  
Старый 08.08.2020, 20:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

c4udok,
не осилил ваше описание, но может чем поможет такой вариант ...
заменить полностью на
document.addEventListener("DOMContentLoaded", function() {
    let db = [{
            ISO4217: '$',
            multiply: 1
        },
        {
            ISO4217: 'RUB',
            multiply: 70.5
        },
        {
            ISO4217: 'UAH',
            multiply: 27
        }
    ];
    document.getElementById("valuta").addEventListener('change', function(e) {
        let option = db[this.selectedIndex];
        rebuildPrices(option);
    });

    function rebuildPrices({ISO4217, multiply}) {
        [...document.querySelectorAll('[data-cost]')].forEach(el => {
            const num = el.dataset.cost,
                span = el.querySelector('span');
            span.innerHTML = `${(num * multiply).toFixed(2)} ${ISO4217}`
        })
    }
    rebuildPrices(db[0])
});
Ответить с цитированием