Показать сообщение отдельно
  #1 (permalink)  
Старый 06.11.2017, 18:25
Интересующийся
Отправить личное сообщение для Леонид777 Посмотреть профиль Найти все сообщения от Леонид777
 
Регистрация: 30.09.2017
Сообщений: 27

Скрипт для калькулятора
Ребят, подскажите как подредактировать скрипт для калькулятора.

(function(window, document) {

	       

	        var genius_calc = function(parent) {

	          parent = document.querySelector(parent);

	          if (!parent) return;

	          // сделал ручной ввод, чтобы тс поработал

	          var amazing_inputs = [

	            '100,1+0',

	            '200,1+0',
              
              '300,1+0',
              
              '400,1+0',
              
              '500,1+0',
              
              '600,1+0',
              
              '700,1+0',
              
              '800,1+0',
              
              '900,1+0',
              
              '1000,1+0',
              
              '1500,1+0',
              
              '2000,1+0',
              
              '2500,1+0',
              
              '3000,1+0',
              
              '3500,1+0',
              
              '4000,1+0',
              
              '5000,1+0',              
              
               //1
              
	            '100,2+0',

	            '200,2+0',
              
              '300,2+0',
              
              '400,2+0',
              
              '500,2+0',
              
              '600,2+0',
              
              '700,2+0',
              
              '800,2+0',
              
              '900,2+0',
              
              '1000,2+0',
              
              '1500,2+0',
              
              '2000,2+0',
              
              '2500,2+0',
              
              '3000,2+0',
              
              '3500,2+0',
              
              '4000,2+0',
              
              '5000,2+0', 
              
               //2
              
 
              

	          ];          

	          

	          var assoc_prices = ['2100руб','2550руб','3300руб','3750руб','4275руб','4650руб','5085руб','5550руб','5820руб','6150руб','8025руб','9150руб', '9525руб','10950руб','12225руб','13350руб','15900руб',   
            //1
            '4215руб','5040руб','6225руб','7350руб','8025руб','8250руб','9075руб','9150руб','9600руб','10050руб','12525руб','14250руб', '15900руб','18150руб','20100руб','21750руб','26400руб'];
            //2

            
            var sizes = ['22,5x34', '30x40', '36x45', '38x50', '45x50', '60x50', '70x50'];

	          var assoc_colors = ['белый,красный,серебро,ярко-синий,желтый,бежевый', 'белый,красный,серебро,ярко-синий,желтый,бежевый', 'белый', 'белый,золотой,бежевый,бордовый', 'белый,черный,синий,желтый', 'белый,черный,синий', 'белый,черный'];

	          var re = /\s|см$|шт$/g

	 

	          return {

	            init: function() {

	              parent.addEventListener('click', this.calculate.bind(this));

	              parent.addEventListener('change', this.fillColors.bind(this));

	            },

	            fillColors: function(e) {

	              var sel = document.getElementById('cvet');

	              if (!sel) return;

	              if (e.target.tagName == 'SELECT' && e.target.id == 'razmer') {

	                var opt = e.target.options.selectedIndex;

	                opt = e.target.options[opt];

	                var val = opt.textContent.replace(re, '');

	                var f = this.find(val, sizes);

	                if (sel && sel.firstElementChild) {

	                  while (sel.firstElementChild) {

	                    sel.removeChild(sel.firstElementChild);

	                  }

	                }

	                if (typeof(f) == 'number') {

	                  var s = assoc_colors[f];

	 

	                  if (sel) {

	                    s.split(',').forEach(function(v) {

	                      var option = document.createElement('option');

	                      option.textContent = v;

	                      sel.appendChild(option);

	                    });

	                  }

	 

	                }

	              }

	            },

	            collect: function(e) {

	              var selects = parent.querySelectorAll('select');

	              var arr = [];

	 

	              [].forEach.call(selects, function(select, indx) {

	                var opt = select.options.selectedIndex;

	                opt = select.options[opt];

	                if (opt)

	                  arr.push(opt.textContent.replace(re, '').toLowerCase());

	              });

	 

	              return arr.join(',');

	            },

	            find: function(str, variable) {

	              var indx = variable.indexOf(str);

	              if (~indx) return indx;

	              return false;

	            },

	            dump: function(n) {

	              document.getElementById('result').textContent = assoc_prices[n];

	            },

	            calculate: function(e) {

	              if (e.target.tagName == 'BUTTON') {

	                var c = this.collect();

	                var f = this.find(c, amazing_inputs);

	                if (typeof(f) == 'number')

	                  this.dump(f);

	              }

	            }

	          };

	 

	        };

	        document.addEventListener('DOMContentLoaded',function() {
            var gc = genius_calc('.genius-calculator');
            gc.init();
          });

	 

	    })(window, document);





Из скрипта необходимо убрать селект "сvet" и "razmer"

Последний раз редактировалось Леонид777, 06.11.2017 в 19:18.
Ответить с цитированием