Показать сообщение отдельно
  #1 (permalink)  
Старый 20.10.2013, 21:13
Новичок на форуме
Отправить личное сообщение для coloboque Посмотреть профиль Найти все сообщения от coloboque
 
Регистрация: 20.10.2013
Сообщений: 8

Простенький калькулятор для сайта
Всем привет!
Для начала - я не программист) но посмотрела пару уроков(пока что) на javascript т.к. мне для сайта нужен написать калькулятор, а программисты заломили цены >___<
Учитывая что, калькулятор нужно будет постпенно обновлять, добавлять пункты, то я больше потрачу чем заработаю своим горе-сайтом) Так что решила научится сама

Итак) Калькулятор шкафов-купе) Точнее их дверей)
Дано. Есть профиль дверей. у него фиксированные цены, зависят от количества дверей и ширины шкафа( цены вот:
https://dl.dropboxusercontent.com/u/...46.54%20PM.png
Есть наполнение дверей (стекло, зеркало, ДСП и т.д.), цена за метр квадратный.
2 двери нельзя - нельзя при ширине проема больше 2950мм, только 3 и 4.

Галочка доставка - добавляет 1000р
Галочка установка - умножает количество дверей на 700р.
Галочка нанесение пескоструйнх рисунков - 1350 * кол-во дверей.

Есть задача которые я не знаю как решить, и прошу у вас совета.
1)Сделать option количества дверей 2 неактивными(или удалить его вообще) при ширине шкафа больше 2950мм.
2)Сделать галочку пескоструные рисунки неактивной если выбран ротанг или ДСП( только для зеркала и стекла это возможно)

Есть конечно еще куча идей, но потом.

Не ругайте сильно - вот что у меня получилось:

<script type="text/javascript">
function calc() {
var opt = document.getElementById("2dveri");
var vis = document.getElementById("vis");
var shir = document.getElementById("shir");
var dveri = document.getElementById("dveri");
var fill = document.getElementById("fill");
var dost = document.getElementById("dost");
var ust = document.getElementById("ust");
var result = document.getElementById("result");
var sq = parseInt(shir.value) * parseInt(vis.value);
var filling = parseInt(fill.options[fill.selectedIndex].value);
var cdveri = parseInt(dveri.options[dveri.selectedIndex].value);
var profil;
if ((parseInt(shir.value <= 2950) && (cdveri == 2)){
profil = 3960;
}
else if ((parseInt(shir.value) <= 2950) && (cdveri == 3)){
profil = 4950;
}
else if ((parseInt(shir.value) <= 2950) && (cdveri == 4)){
profil = 5940;
}
else if ((parseInt(shir.value) >= 2950) && (cdveri == 3)){
profil = 6930;
}
else if ((parseInt(shir.value) >= 2950) && (cdveri == 4)){
profil = 7810;
}
else{
profil = 0;
};
var ustanovka = (ust.checked == true) ? parseInt(ust.value) * cdveri : 0;
var dostavka = (dost.checked == true) ? parseInt(dost.value) : 0;
var risunok;
if ((filling == 2 || 3) && (ris.checked == true)) {
risunok = parseInt(ris.value) * sq/1000000;
}
else {risunok = 0;
};

var price = 0;
price += (Math.ceil(sq * filling/1000000 + profil + dostavka + ustanovka +risunok )) ;
result.innerHTML = price;}

</script>


<input id="vis" type="text" value="2300" onchange="calc()" /> высота, в мм
<br/>
<input id="shir" type="text" value="2500" onchange="calc()" /> ширина, в мм
<br/><b>Наполнение:</b><br/>

<select onchange="calc()" id="fill">
<option value="0">Выбрать</option>
<option value="1300">Стекло</option>
<option value="1500">Зеркало </option>
<option value="1400">Ротанг</option>
<option value="1400">ДСП</option>
</select><br/>
<b>Кол-во дверей:</b><br/>
<select onchange="calc()" id="dveri">
<option value="0">Выбрать</option>
<option id="2dveri" value="2">2</option>
<option id="3dveri" value="3">3</option>
<option id="4dveri" value="4">4</option>
</select><br/>
<input type="checkbox" onchange="calc()" value="333" id="dost" />
<label for="dost">Требуется доставка?</label>
<br/>
<input type="checkbox" onchange="calc()" value="555" id="ust" />
<label for="ust">Требуется установка?</label>
<br/>
<input type="checkbox" onchange="calc()" value="1350" id="ris" />
<label for="ris">
Нанесение пескоструйных рисунков</label>

<div>Примерная стоимость дверей: <span id="result">0</span> руб.</div>



Вот ! Жду ваших советов))) Спасибо!

Последний раз редактировалось coloboque, 20.10.2013 в 21:52.
Ответить с цитированием