JStore

by vovkasolovev

HTML

<button class="form_order_button" name="f5">F5</button>
<button class="form_order_button" name="f5">F5 2</button>
<button class="form_order_button" name="hepa">hepa</button>
<button class="form_order_button" name="carbon">carbon</button>
<button class="form_order_button" name="remote">remote</button>
<button class="form_order_button" name="co2">co2</button>
<button class="form_order_button" name="wifi">wifi</button>

<input class="tinkoffPayRow form_order_price" type="text" placeholder="Сумма заказа" name="amount" required>
<input class="tinkoffPayRow form_order_description" type="text" placeholder="Описание заказа" name="description">
<input class="tinkoffPayRow form_order_number" type="text" placeholder="Номер заказа" name="order" value="V80020">

CSS

button{display: block; border:2px solid gray;}
button.active{border-color: green; background: lightgreen;}
input{width: 100%; display: block;}
input, button{ margin: 0 5px 5px 0; padding: 5px; min-width: 150px; font-size: 16px}

JavaScript

// Store JS

$(document).ready(function() {

var sum_init = 29900;
var desc_init = 'AM2';
var numb_init = '—';
$( '.form_order_price').val(sum_init);
$( '.form_order_number').val(desc_init);



var options = {hour:'numeric', minute:'numeric',  month: 'numeric', day: 'numeric' };
var today  = new Date();
function makeId() {
  var text = "";
  var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
  for (var i = 0; i < 2; i++)
    text += possible.charAt(Math.floor(Math.random() * possible.length));
  return text;
}
//var order_number = '#'+makeId()+', '+today.toLocaleDateString("ru-RU", options)+' ';
var order_number =today.toLocaleDateString("ru-RU", options)+', ';

var store_items = {};
store_items.f5		= {price:1600,	description:"F5"};
store_items.hepa	= {price:2000,	description:"НЕРА"};
store_items.carbon	= {price:1600,	description:"CARBON"};
store_items.remote	= {price:1240,	description:"ДУ"};
store_items.co2		= {price:6000,	description:"CO2"};
store_items.wifi	= {price:4000,	description:"WiFi"};

$('.form_order_button').each(function() {
$(this).text(store_items[$(this).attr("name")].price+' ₽');
});

$('.form_order_button').click(function() {
    if($(this).hasClass('active')){
      $(this).removeClass('active');
    } else {
      $(this).addClass('active');
    }
	order_total();
});

function order_total() {
sum = sum_init;
desc = desc_init;
  if($('.form_order_button.active').length > 0) { 			
    $('.form_order_button.active').each(function() {
      sum += store_items[$(this).attr("name")].price;
      $( '.form_order_price').val(sum);
      desc += ' '+store_items[$(this).attr("name")].description; 
      $( '.form_order_number').val(order_number+desc);
    });
  } else {
  	$( '.form_order_price').val(sum_init);
	$( '.form_order_number').val(order_number+desc_init);
  }
}
	
});