Калькулятор суммы заказа
Привет всем. Я чайник в javascript но при создании своего сайта я столкнулся с такой проблемой.
У меня есть страница заказа рекламы есть несколько функций select и checkbox в которых прописаны цены на некоторые услуги но эти цены находятся в базе. Я хочу чтобы при выборе одного из select или если отмечены checkbox, скрипт суммировал их и выводил. У меня есть наброска самого калькулятора, но в примитивном виде. Помогите пожалуйста я уже неделю голову ломаю. Спасибо. |
Ну так конкретизируйте, что у вас не выходит. Код неработающий.
Если хотите, чтобы вам что то с нуля написали - то это в разделе "Работа". |
Привет всем. Здравствуйте чайник tagra. Уже неделю ломаю голову над математикой, у меня есть некоторые мысли по этому поводу, но ничего определенного, не могли бы вы мне её объяснить?
|
Точнее код вот такой, но это приблизительно
Вот сама функция сложения <input type='hidden' id='bold_price' value='".number_format((float)$set['bold_link_price']/$kurs,4, '.', '')."'> <input type='hidden' id='color_price' value='".number_format((float)$set['highlight_link_price']/$kurs,4, '.', '')."'> color_price = document.getElementById('color_price'); // цена за жирный шрифт bold_price = document.getElementById('bold_price'); // цена за выделеный шрифт adbold = document.getElementById('adbold'); adhl = document.getElementById('adhl'); visitprice = document.getElementById('visitprice'); visitcount = document.getElementById('visitcount'); cost = document.getElementById('cost'); function calcSumm() { color_val = parseFloat(color_price.value) || 0; bold_val = parseFloat(bold_price.value) || 0; visitprice_val = parseFloat(visitprice.value) || 0; visitcount_val = parseInt(visitcount.value) || 0; cost_val = visitcount_val*visitprice_val + (adbold.value==1 ? bold_val : 0) + (adhl.value==1 ? color_val: 0); cost_val = Math.round(cost_val*10000)/10000; cost.innerHTML = cost_val.toFixed(4) + ' {$usval} (+".$set['sys_kommision']*100 ."% коммисия системы)'; summ_val = Math.round(((cost_val*0.2) + cost_val)*10000)/10000; summ.innerHTML = summ_val.toFixed(4) + ' {$usval}'; } Вот форма Количество кликов <input type='text' name='visitcount' id='visitcount' maxlength='7' onkeyup='calcSumm()'/> Категория <select name='adcat' id='adcat'> <option value='1'>Vip <option value='2'>Простая рассылка <option value='3'>С переходом по ссылке</select> Цена одного посещения: <input type='text' name='visitprice' value='' id='visitprice' maxlength='7' onkeyup='calcSumm()'> Таймер:</label></div> <select name='adstimer' id='adstimer'> <option value='1'>20 cek <option value='2'>30 cek <option value='3'>40 cek</select> Жирный шрифт <input type='checkbox' name='adbold' id='adbold' value='1' onClick='calcSumm()'> Выделение цветом <input type='checkbox' name='adhl' id='adhl' value='1' onClick='calcSumm()'> Сумма заказа: <div id='cost'>0.0000 {$usval} (+".$set['sys_kommision']*100 ."% коммисия системы)</div></strong></div> Итого к оплате: <div id='summ'>0.0000 {$usval}</div></strong></div> Вот такой приблизительно код |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Отредактировал, но с запуском не получится, потому что в скрипте некоторые переменные из моего php скрипта
|
что конкретно у вас не получается и какие выдает ошибки?
ps: если вы этого еще не сделали то сделайте - используйте firebug |
я не знаю как из выбора select брать для калькулятора сумму услуги из базы, и не знаю как изменить например (adbold.value==1 ? bold_val : 0), чтобы он работал от checkbox, в данный момент я написал его под select т.е. выбором да или нет.
|
Цитата:
var box = document.getElementById('select_id'); var val = box.options[box.selectedIndex].value; остальное слишком расплывчато, поэтому я не понимаю, задавайте вопросы более конкретно, а не "изменить вот это чтобы оно" я за вас скрипт писать не буду, вы мне за него не платите. |
Извините конечно что задаю вопрос не в том разделе сайта. Сколько приблизительно будет стоить эта работа?
|
нисколько, просто локализуйте проблему!
зы: мне просто в лом писать такой скрипт и объяснять все базовые вещи. |
Ваш калькулятор это доступ к элементу по id, получение значения, сравнение его посредством if и else (если нужно), и сложение значений. Ничего более скучного я не знаю. Собственно вот вам и скрипт, перепишите его и получите калькулятор.
|
Спасибо за ответы, думаю придется все таки за учебники по языку браться.
|
Часовой пояс GMT +3, время: 06:26. |