|
|
|
| Подскажите как сделать On-Line расчет стоимости.
Задача:
Есть товар:
1 - Шоколад / 17 руб. за шт.
2 - Суп / 22 руб. за шт.
3 - Конфеты / 40 руб. за шт.
Необходимо, чтобы при вводе в Input цифрового значения количества товара, автоматически онлайн выводилась стоимость.
Пример:
Позиция (input) в которой вводиться: цифра, справ от этого поля выводиться сумма по формуле:
Макс. стоимость = цифра(из input)*15
Ниже:
Шоколад__|__1__| <--- Поле <input>
Суп______|__3__| <--- Поле <input>
Конфеты__|__2__| <--- Поле <input>
|
Ниже позиция в которую выводиться общая стоимость, т.е.
Стоимость = 1(кол-во шоколада)*17(цена шоколада) + 3*22 + 2*40 = 163 руб.
И если Стоимость больше Макс. стоимость, то выводиться предупреждение. | |
|
|
|
|
|
|
|
для: maxfade
(07.08.2008 в 14:49)
| | Просто обрабатываете все текстовые поля циклом FOR,смотрите их значения и умнажаете... | |
|
|
|
|
|
|
|
для: DEM
(07.08.2008 в 15:07)
| | Небольшой пример скрипта можете показать?
Я просто не очень разбираюсь в Javascript :( | |
|
|
|
|
|
|
|
для: maxfade
(07.08.2008 в 15:23)
| | Ну вот самый элементарный код:
Banane: 5 Usd for one <input id="0" type=text onkeyup=func(this.value,this.id,5) />
<span id="span0"></span>
<br/>
Lemone: 3 Usd for one <input id="1" type=text onkeyup=func(this.value,this.id,3) />
<span id="span1"></span>
<script>
function func(val,id,cost)
{
document.getElementById('span'+id).innerHTML=val*1*cost;
}
</script>
|
| |
|
|
|
|
|
|
|
для: coloboc66
(07.08.2008 в 15:31)
| | А как в этом примере сделать вывод общей стоимости не в отдельный <span id="span..."></span> для каждого input, а в один.
Т.е. чтобы при добавлении значений в inputы , в <span id="span..."></span> выводилась общая стоимость посчитанная со всех inputов? | |
|
|
|
|
|
|
|
для: maxfade
(07.08.2008 в 15:51)
| |
Banane: 5 Usd for one <input id="0" type=text onkeyup=func(this.value,this.id,5) />
<span id="span0" style="display:none"></span>
<br/>
Lemone: 3 Usd for one <input id="1" type=text onkeyup=func(this.value,this.id,3) />
<span id="span1" style="display:none"></span><br/>
<span id="cost_"></span>
<script>
function func(val,id,cost)
{
document.getElementById('span'+id).innerHTML=val*1*cost;
var cost_=0;
var span=document.getElementsByTagName('span');
for (i=0;i<span.length-1;i++) cost_+=Number(span[i].innerHTML);
document.getElementById('cost_').innerHTML=cost_;
}
</script>
|
Предупреждаю: этот просто пример, чтоб иметь понятие. По-серьёзному лично я бы делал без span-ов. Просто лень долго думать. Может кому-то другому не будет лень.
И вообще это надо делать на серверном языке, чтобы проверять корректность введенных данных. | |
|
|
|
|
 9.7 Кб |
|
|
для: coloboc66
(07.08.2008 в 16:15)
| | Разбирайтесь. Только учтите там есть одно "НО" Все элементы должны идти по порядку начиная "0", иначе не будет работать. | |
|
|
|