Скрипт для калькулятора
Ребят, подскажите как подредактировать скрипт для калькулятора.
(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" |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Часовой пояс GMT +3, время: 17:52. |