Я вижу, вы задаете концептуальный вопрос.
Я бы подошел к этому, добавив атрибуты данных в выпадающий список. Затем захватите значения с помощью простой функции выбора изменений и интегрируйте ее в уравнение цены.
Вы можете прочитать об атрибутах данных здесь: https://www.w3schools.com/tags/att_global_data.asp и https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes
1) Добавить атрибуты данных
<select id="province">
<option value="saskatchewan" data-shipping-cost="0" data-tax="0.05" data-deal-limiter="30" data-deal-coupon="5'>Saskatchewan</option>
...
</select>
2) Получение выбранных значений (обратите внимание на шаблон доступа camelCase для атрибута данных)
document.getElementById("province").addEventListener("change", function() {
const select = document.getElementById("province"),
selectedProvince = select.options[select.selectedIndex],
shippingCost = selectedProvince.dataset.shippingCost ,
tax = selectedProvince.dataset.tax,
dealLimiter = selectedProvince.dataset.dealLimiter,
dealCoupon = selectedProvince.dataset.dealCoupon;
});
3) Интеграция в ваше уравнение
Вы можете сделать эту часть самостоятельно; Я учу рыбалке, я не даю рыбу. (Подсказка: содержит оператор if).