Чтобы получить значение, лучше поместить туда ввод, а не диапазон
<input id="price-amount" type="number"/>
и чтобы получить это значение, вы можете просто сделать это
var loose = document.getElementById("price-amount").value;
Если шаблон отсутствует, мы не можем выполнить функцию, которая рассчитывает цены, поэтому вам придется добавить их вручную (или при необходимости получить из базы данных).
Но что мы можем сделать, это добавить функцию, в которую вы передадите ей цены, это даст нам только 1 функцию для написания и IF:
var loose = document.getElementById("price-amount").value;
function setPrices(p1, p2, p3, p4, p5, p6) {
document.getElementsById('premium-price-1').textContent = p1;
document.getElementsById('premium-price-2').textContent = p2;
document.getElementsById('deductible-price-1').textContent = p3;
document.getElementsById('deductible-price-2').textContent = p4;
document.getElementsById('replacement-price-1').textContent = p5;
document.getElementsById('replacement-price-2').textContent = p6;
}
После того, как вы настроили функцию, теперь вы можете просто вызвать функцию с правильными параметрами, чтобы изменить цены в своих IF'ах
if (100 < loose && loose < 200) {
setPrices(18, 20, 120, 130, 200, 220);
} else if (200 < loose && loose < 300) {
setPrices(22, 25, 125, 135, 220, 230);
} else {
setPrices(25, 29, 130, 140, 240, 270)
}
Таким образом, если вам нужно изменить функцию, вы делаете это только в одном месте, и она более читаема, просто убедитесь, что вы передали правильные числа в правильном порядке для функции.
ПРИМЕЧАНИЕ. - обратите внимание, что ваши диапазоны IFs составляют всего 200 > x < 300
, поэтому, если цена будет ровно 200, она перейдет в другое, а не в диапазон, чтобы изменить его, вам нужно а также тест на равенство 200 >= x <= 300
.
if (loose >= 100 && loose < 200) {} else if (loose >= 200 && loose < 300) {}
Обновление
Если вы не можете изменить часть диапазона, вам нужно получить его текст.
var loose = document.getElementById("price-amount").textContent;
рабочая скрипка: https://jsfiddle.net/b9suq0pg/9/
Обновление 2
Вам также нужно проверить, является ли промежуток числом, чтобы убедиться, что никаких ошибок не появится.
if (! IsNaN (свободный)) {}
рабочая скрипка: https://jsfiddle.net/b9suq0pg/10/