Как можно реализовать вывод цен за услуги?

B
На сайте с 10.01.2012
Offline
42
847

Здравствуйте уважаемые вебмастера!

Подскажите, пожалуйста, какими методами можно реализовать подобную задачу:

На странице выбора услуг будут блоки с услугами. При нажатии на блок внизу страницы должна выводиться стоимость услуги.

Примерно так:

При выборе двух и более услуг должна выводиться их сумма:

дани мапов
На сайте с 06.09.2012
Offline
204
#1

Можно сделать с помощью checkbox, их будет 5 штук по числу услуг, в параметр value для каждого вписываете цену. Клик по кнопке услуги вызывает клик по соответствующему чекбоксу (javascript), у всех отмеченных чекбоксов суммируется параметр value и отображается внизу как итоговая цена. Чекбоксы естественно потом делаете невидимыми.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
B
На сайте с 10.01.2012
Offline
42
#2

Спасибо за совет!

Стал Гуглить, мне наподобие этого надо http://www.xiper.net/collect/html-and-css-tricks/verstka-form/nice-checkbox.html ?

А как суммировать value?

дани мапов
На сайте с 06.09.2012
Offline
204
#3
brokkoli:

Стал Гуглить, мне наподобие этого надо http://www.xiper.net/collect/html-and-css-tricks/verstka-form/nice-checkbox.html ?

Нет, чекбоксы просто используется для наглядности.

brokkoli:

А как суммировать value?

Писать функцию на javascript.

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#4


<script type="text/javascript">
function getSum()
{
var sum = 0;
var vision = 0;
for (var i=1; i<=5; i++)
{
var obj = document.getElementById('checkbox_'+i);
if (obj.checked)
{
sum += parseInt(obj.value);
vision = 1;
}
}

var obj = document.getElementById('sum');

if (vision != 0)
{

obj.setAttribute('style', 'display: block;');
obj.innerHTML = 'Сумма: ' +sum;
}
else
{
obj.setAttribute('style', 'display: none;');
}
}
</script>

1 - <input type="checkbox" name="b_1" value="100" id="checkbox_1" onclick="getSum();"><br/>
2 - <input type="checkbox" name="b_2" value="200" id="checkbox_2" onclick="getSum();"><br/>
3 - <input type="checkbox" name="b_3" value="300" id="checkbox_3" onclick="getSum();"><br/>
4 - <input type="checkbox" name="b_4" value="400" id="checkbox_4" onclick="getSum();"><br/>
5 - <input type="checkbox" name="b_5" value="500" id="checkbox_5" onclick="getSum();"><br/>
<div>
<span id="sum" style="display: none;"></span>
</div>

PS. как сделать картинку чекбоксом

Подпись))
B
На сайте с 10.01.2012
Offline
42
#5
Милованов Ю.С:

<script type="text/javascript">
function getSum()
{
var sum = 0;
var vision = 0;
for (var i=1; i<=5; i++)
{
var obj = document.getElementById('checkbox_'+i);
if (obj.checked)
{
sum += parseInt(obj.value);
vision = 1;
}
}

var obj = document.getElementById('sum');

if (vision != 0)
{

obj.setAttribute('style', 'display: block;');
obj.innerHTML = 'Сумма: ' +sum;
}
else
{
obj.setAttribute('style', 'display: none;');
}
}
</script>

1 - <input type="checkbox" name="b_1" value="100" id="checkbox_1" onclick="getSum();"><br/>
2 - <input type="checkbox" name="b_2" value="200" id="checkbox_2" onclick="getSum();"><br/>
3 - <input type="checkbox" name="b_3" value="300" id="checkbox_3" onclick="getSum();"><br/>
4 - <input type="checkbox" name="b_4" value="400" id="checkbox_4" onclick="getSum();"><br/>
5 - <input type="checkbox" name="b_5" value="500" id="checkbox_5" onclick="getSum();"><br/>
<div>
<span id="sum" style="display: none;"></span>
</div>


PS. как сделать картинку чекбоксом

Спасибо огромное за ответ!

Но почему то при выборе чек бокса, не отображается значение... То есть на странице есть только чек боксы, но при их нажатии ничего не происходит...

В чем может быть проблема?

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#6

В чем может быть проблема?

Отключен JavaScript?

Браузер не знает такой JS?

У меня файрфокс вроде бы 18 и все норм.

Попробуйте на других браузерах.

Я только что скопировал код и проверил - работает.

B
На сайте с 10.01.2012
Offline
42
#7
Милованов Ю.С:
В чем может быть проблема?
Отключен JavaScript?
Браузер не знает такой JS?
У меня файрфокс вроде бы 18 и все норм.
Попробуйте на других браузерах.

Я только что скопировал код и проверил - работает.

Спасибо Вам огромное! Очень помогли!

B
На сайте с 10.01.2012
Offline
42
#8

А можно ли в этом скрипте при клике на чекбокс как то реализовать вывод изображения (для каждого чекбокса разное) под суммой? Или для этого скрипта только есть возможность выводить сумму?

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#9

Да хоть запуск межгалактического корабля:)

if (vision != 0)

{

obj.setAttribute('style', 'display: block;');

obj.innerHTML = ' <img src="/images/picture1.jpg">Сумма: ' +sum;

}

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий