Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вывести динамически значения (https://javascript.ru/forum/misc/51444-vyvesti-dinamicheski-znacheniya.html)

porezon 06.11.2014 18:02

Вывести динамически значения
 
Есть такой код:

<?
 $product1_cena='0.01';
 $product2_cena='0.50';
 $product3_cena='0.70'; 
 $product4_cena='0.95';
?>
<form method="post" action="">
<select type="oplata" name="oplata">
<option value='product1_1'>Яйцо</option>
<option value='product1_2'>Мясо</option>
<option value='product1_3'>Фарш</option>
<option value='product1_4'>Молоко</option>
</select>
<label>Количество</label>
<input type="text" value="100" name="kol" size="10" maxlength="4" autocomplete="off"><br />
Сумма:<b style="color:green">0 руб</b><br>
<input type="submit" value='Купить' class="submit">
</form>


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

Помогите пожалуйста

danik.js 06.11.2014 18:11

<form method="post" action="" id="productForm">
	<select name="product">
		<option value='product1_1' data-price="10">Яйцо</option>
		<option value='product1_2' data-price="20">Мясо</option>
		<option value='product1_3' data-price="30">Фарш</option>
		<option value='product1_4' data-price="40">Молоко</option>
	</select>
	<label>Количество</label>
	<input type="text" value="100" name="quantity" size="10" maxlength="4" autocomplete="off"><br />
	Сумма:<b style="color:green"><span id="price">0</span> руб</b><br>
	<input type="submit" value='Купить' class="submit">
	<script>
		var productForm = document.forms.productForm;
		productForm.oninput = productForm.onchange = function() {
			price.innerHTML = this.product[this.product.selectedIndex].getAttribute('data-price') * this.quantity.value;
		};
	</script>
</form>

danik.js 06.11.2014 18:14

Ток нужна проверка что quantity -число, а то NaN - не красиво )

<input type="number" min="1" max="9999" />
тут бы больше подошел.

kostyanet 06.11.2014 18:26

Цитата:

Сообщение от porezon
внизу ставилась цена за него, и ниже если ставишь больше количество, то цена увеличивается.

заебись торговля - чем больше купил, тем выше цена....

porezon 07.11.2014 01:11

спасибо, получилось, но не всегда цена ровная, иногда бывает вот такая 3.0000000000004, как округлить? до 2 знаков после запятой

рони 07.11.2014 01:28

Цитата:

Сообщение от porezon
как округлить? до 2 знаков после запятой

:cray: прочитать азы js или найти 100500 тем на форуме про это

kostyanet 07.11.2014 05:37

А там еще национальная черта есть такая:

value = parseFloat(value.replace(",", ".")).toFixed(2);


Часовой пояс GMT +3, время: 13:50.