Простой калькулятор 
		
		
		
		Подскажите, пожалуйста, как должен выглядеть и быть написан простейший калькулятор: 
	Я хочу заказать <select name="services"> <option value=""></option> <option value="copywriting">Копирайтинг и SEO-копирайтинг</option> <option value="selltext">Продающий текст</option> <option value="hometext">Текст на главную страницу сайта</option> // и т.д. </select> <br> Мне нужен текст объемом <input type="text" name="vol" size="3" value="" placeholder="3500"> знаков (без пробелов) <br> который перемножает между собой выбранный select и объем и выводит 'result' в текстовую графу. Да, "option value=" нужно оставить в текстовом виде, т.к. форма отправляется на почту, а некоторые услуги стоят одинаково. В идеале, если объем больше N1, то вся сумма должна умножаться на скидку M1, а если больше N2, то умножаем на скидку M2 Спасибо.  | 
	
		
 AlexFoxx, 
	а сами капельку ну чуть чуть ?  | 
	
		
 Я чего не пойму...если я ID припишу всему селектору, то значения для расчетов будут браться из value (где мне надо чтобы был текст)?  
	Остальное тащем-та просто. В общем, как мне правильно присвоить числовое (цену) значение опциям селектора?  | 
	
		
 AlexFoxx, 
	:cray: 
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
   Я хочу заказать
<select name="services"  >
<option value=""></option>
<option value="copywriting">Копирайтинг и SEO-копирайтинг</option>
<option value="selltext">Продающий текст</option>
<option value="hometext">Текст на главную страницу сайта</option>
// и т.д.
</select>
<br>
Мне нужен текст объемом
<input type="text" name="vol" size="3" value="" placeholder="3500"> знаков (без пробелов)
<br>
<script>
   var ser = document.querySelector('[name="services"]'),
       vol = document.querySelector('[name="vol"]'),
       sum = {
           "copywriting": 100,
           "selltext": 200,
           "hometext": 500
       };
   ser.onchange = vol.oninput = function () {
       alert((+vol.value || 0) * (sum[ser.value] || 0))
   }
</script>
</body>
</html>
 | 
	
		
 Большое спасибо! 
	 | 
	
		
 <option value="copywriting" data-price="100500">Копирайтинг и SEO-копирайтинг</option> 
// canonical js
try{
  alert('Yo have to pay: '+getElementById('copywriting').dataset.price * document.getElementsByName('vol')[0].value)+'bucks';
}catch(e){
  alert('something went wrong');
}
 | 
	
		
 Я лишь одного не понял - у сеошников и копирайтеров не принято публиковать прайсы? 
	Другими словами если юзер видит цену, то и скрипт ее увидит там же, или в лучшем месте откуда юзеру рендерится. А если скрипт не видит цену, то юзер что видит?  | 
	
		
 Цитата: 
	
  | 
	
		
 Есть у нас и прайсы и все цены видит юзер...другое дело, что копирайтеры вроде как тексты пишут, а не коды :no: Тем не менее, задача оказалась решена - все же у нас простенький wordpress-сайт, а не портал с кучей услуг. Получился конечно былокод и при изменении цен надо будет делать двойную работу, но пока пусть так будет... 
	Подскажите мне, плз, еще один простой момент и я буду бесконечно счастлив. Быдлокод: 
<script>
   var ser = document.querySelector('[name="services"]'),
       vol = document.querySelector('[name="vol"]'),
       sum = {
           "copywriting": 350,
           "selltext": 600,
           "hometext": 550,
	   "abouttext": 500,
	   "formedia": 450,
	   "pressrel": 400,
	   "goods": 200,
	   "rewriting": 200,
	   "commercial": 500,
	   "comments": 80,
	   "context": 100,
	   "blogs": 350,
	   "mailing": 350,
	   "news": 350,
	   "present": 750,
	   "poetry": 200,
	   "prose": 250,
	   "editing": 150,
	   "correction": 100
	     };
   ser.onchange = vol.oninput = function calc () {
   var price = 0;
       price = ((+vol.value || 0) * (sum[ser.value] || 0)/1000);
result.innerHTML = price;
   }
</script>
Как правильно написать тут же на яве про скидки, типа if $vol > 49999 { $price = $price * 0.9; } elseif $vol > 99999 { $price = $price * 0.85; } else ...ну обычная $price как все это правильно вкрутить в тот быдлокод?  | 
	
		
 AlexFoxx, 
	:-? 
var ser = document.querySelector('[name="services"]'),
       vol = document.querySelector('[name="vol"]'),
       sum = {
           "copywriting": 350,
           "selltext": 600,
           "hometext": 550,
	   "abouttext": 500,
	   "formedia": 450,
	   "pressrel": 400,
	   "goods": 200,
	   "rewriting": 200,
	   "commercial": 500,
	   "comments": 80,
	   "context": 100,
	   "blogs": 350,
	   "mailing": 350,
	   "news": 350,
	   "present": 750,
	   "poetry": 200,
	   "prose": 250,
	   "editing": 150,
	   "correction": 100
	     };
   ser.onchange = vol.oninput = function calc () {
   var price = 0, text = +vol.value || 0;
       price = (text * (sum[ser.value] || 0)/1000);
       if (text > 99999) price *= 0.85;
       else if (text > 49999) price *= 0.9;
result.innerHTML = price;
   }
 | 
| Часовой пояс GMT +3, время: 08:05. |