<html> <head> <meta charset="windows-1251" /> </head> <body> <div id="selects"></div> <div id="out"></div> <script> SubObject={ clone: function(){ var o=Object.create(this) if(this.init) this.init.call(o) return o }, extend: function(o){ for(var i in o) {if(!o.hasOwnProperty(i)) return this; this[i]=o[i]} return this } } Select=SubObject.clone() Select.extend({ init: function(){ this.self=document.createElement("select") this.self.onchange=function(){this.setChild()}.bind(this) this.parent=selects }, append: function(){this.parent.appendChild(this.self); return this}, setChild: function(){ if(this.child) this.parent.removeChild(this.child.self) this.child=Select.clone() this.child.setValues(window[this.self.value]) this.child.self.onchange=function(){out.innerHTML=this.value} this.child.self.onchange() this.child.append() return this }, setValues: function(values){ for(var i in values) { if(!(values.hasOwnProperty(i))) return this; this.self.appendChild(new Option(values[i], i)) } return this } }) main={ hardDrive: "жесткий диск", videoCard: "видеокарта", audioCard: "аудиокарта" } hardDrive={ "$1": "отремонтировать XHard", "$2": "отремонтировать YHard", "$3": "отремонтировать ZHard", } videoCard={ "$10": "отремонтировать XVideo", "$20": "отремонтировать YVideo", "$30": "отремонтировать ZVideo", } audioCard={ "$100": "отремонтировать XAudio", "$200": "отремонтировать YAudio", "$300": "отремонтировать ZAudio", } select=Select.clone() select .setValues(main) .append() .setChild() </script> </body> </html> |
laimas,
Полностью согласен, но, это лендинг пэйдж и позиций всего 4 и должно быть всё быстро и динамично. indeterm, Спасибо большое за готовое решение, буду теперь разбираться как это работает) |
Зависимые селекты ссылки по теме
|
Цитата:
А вообще-то все это странно. Можно установить фиксированные цены за услуги, временные затраты на которые и расходные комплектующие заблаговременно известны. Иначе просто перечень услуг без цен. Ну к примеру, обращаются по причине отсутствия изображения на экране. Каким образом хозяин устройства не имеющий понятия в электронике может знать, что причиной служит видео карта, а не иное? А если, к примеру, взять ноутбук еще с подсветкой ламповой, то могут быть виновны и видео карта, и ВВ преобразователь, и лампа подсветки, а значит менять матрицу, и цены то у комплектующих разные. В общем подозрительная контора получается. :) |
Цитата:
|
Цитата:
Получение списков адресов, это вообще тысячи записей, ну и не так долго ответ ждать приходится, да и мера эта вынужденная. |
laimas,
Просто сама концепция лендинг пэйджа такая, что главное в нём это что-бы пользователь оставил заявку на консультацию. А в скрипте только явные позиции, а если нет такой позици, то вот пожалуйста вам кнопочка заявки консультации. |
Часовой пояс GMT +3, время: 06:29. |