ну с селектами разобрался.посмотри здесь. пременная массив и формы-там описание селекта. селект при выборе возвращает номер выбранной строчки. и с такимже номером у тебя цена стоит в массиве.эту цену ты присваиваеш переменной какую будеш подставлять в формулу расчёта стоимости. ты практически сам сделал 90% работы по своей задаче-причём сложную часть и опустиш руки на простом?)
http://javascript.ru/manual |
ну а изображения подключать-посмотри у меня в профиле на днях уже отвечал на подобное-вывод изображений из массива предзагрузки
|
Вывод изображений я уже понял как делать и описаний тоже. Я только не могу понять как создать код привязанных списков. Смотрел даже похожие скрипты (Страны и города и т.д.) не могу понять как там прикрепить изображение и описание
Вот пример function cGorod(strana_in, gorod_in) { this.gorod = gorod_in; this.strana = strana_in; } Strani = new Array(); Strani["1"] = "Германия"; Strani["2"] = "Украина"; Strani["3"] = "Франция"; Goroda = new Array(); Goroda["Берлин"] = new cGorod(1,'Берлин'); Goroda["Гамбург"] = new cGorod(1,'Гамбург'); Goroda["Бонн"] = new cGorod(1,'Бонн'); Goroda["Москва"] = new cGorod(2,'Киев'); Goroda["Санкт-Петербург"] = new cGorod(2,'Львов'); Goroda["Нижний Новгород"] = new cGorod(2,'Харьков'); Goroda["Париж"] = new cGorod(3,'Париж'); Goroda["Марсель"] = new cGorod(3,'Марсель'); Goroda["Бордо"] = new cGorod(3,'Бордо'); function addgorod(key) { document.searchfrm.gorod.length++; document.searchfrm.gorod[document.searchfrm.gorod.length-1].text = gorod[key]; document.searchfrm.gorod[document.searchfrm.gorod.length-1].value = key; } function chkkeyword(words,word) { for(a in words) { if(words[a]==word) { return true; } } return false; } function checkall(strana,gorod,i) { if (strana=="") { if(chkkeyword(Goroda[i].gorod,gorod) || gorod==999) return true; }// end if else { if (Goroda[i].strana==strana || strana==999) if(Goroda[i].gorod==gorod || gorod==999) return true; }//end else return false; } function creategorod(strana,gorod) { document.searchfrm.gorod.length=2; document.searchfrm.gorod[0].value = 999; document.searchfrm.gorod[0].text = "все"; k=1; for (i in Goroda) { if (checkall(strana,999,i)) { document.searchfrm.gorod[k].value=i; document.searchfrm.gorod[k].text=Goroda[i].gorod; document.searchfrm.gorod.length=k+2; k++; } } document.searchfrm.gorod.length=k; } function createstrana(strana,gorod) { document.searchfrm.strana.length=2; document.searchfrm.strana[0].value = 999; document.searchfrm.strana[0].text = "все"; k=1; for (i in Goroda) { if (checkall(999,gorod,i)) {if (document.searchfrm.strana[k-1].text!=Strani[Goroda[i].strana]) { document.searchfrm.strana[k].value=Goroda[i].strana; document.searchfrm.strana[k].text=Strani[Goroda[i].strana]; document.searchfrm.strana.length=k+2; k++; } } //end if }//end for document.searchfrm.strana.length=k; } function reselect(field,check) { for (i=0;i<=field.length-1;i++) { if (field[i].value==check) { field.selectedIndex = i; } } } function change(what) { var selectedStrana = document.searchfrm.strana[document.searchfrm.strana.selectedIndex].value; /*tmp = document.searchfrm.gorod.selectedIndex; if(tmp >= 0) selectedGorod = document.searchfrm.gorod[tmp].value; else selectedGorod = 0;*/ var selectedGorod = document.searchfrm.gorod[document.searchfrm.gorod.selectedIndex].value; createstrana(selectedStrana,selectedGorod); creategorod(selectedStrana,selectedGorod); reselect (document.searchfrm.strana,selectedStrana); reselect (document.searchfrm.gorod,selectedGorod); } function makelist() { document.searchfrm.strana.length = 1; document.searchfrm.strana[0].value = 999; document.searchfrm.strana[0].text = "все"; for(i in Strani) { document.searchfrm.strana.length++; l = document.searchfrm.strana.length; document.searchfrm.strana[l-1].value = i; document.searchfrm.strana[l-1].text = Strani[i]; } } |
через массивы номер данного в котором соответствует номеру выбранной строки в списке. смотри
var oblojka;-создаёш переменную для формулы var cena_oblojka; -создаёш переменную для массива cena_oblojka=[цена1,цена2,цена3...]; допустим в селекте в категории обложка у тебя выбрали третью строчку и эта цифра три допустим у тебя в пременной stroka_oblojka тогда при такой записи stroka_oblojka--; oblojka=cena_oblojka[stroka_oblojka]; ты получаеш стимость выбранной обложки и тоже самое с остальными селектами и составляющими формулы.0 строка в селекте помниться-это ничего не выбранно,ну а нумерация в массиве начинаеться с нуля поэтому строку нужно уменьшить на 1-чтобы обратиться к правильному элементу массива и при нажатии на кнопку посчитать цена окончательная=oblojka+другие составляющие(твоя формула-не знаю как ты там рассчитываеш сумируеш умножаеш и т.д) ну а как вывести эту цену окончательную ты знаеш. подобным образом ты выводиш изображение из массива изображений(либо массив предзагруженных изображений,либо текстовый массив с именами ссылок на изображения) |
Процентов 50 я не понял. К примеру как создать переменную для формулы и для массива? у меня в скрипте строка var color=0; в основном обозначатся цифрой. Мне в принципе надо только вывести привязаные списки. Чтоб к примеру при выборе в списке Пункт 1 загружались его подпункты. А уж поставить цены и описания я думаю справлюсь
Пункт 1 Подпункт 1-1 Подпункт 1-2 Подпункт 1-3 Пункт 2 Подпункт 2-1 Подпункт 2-2 Подпункт 2-3 Пункт 3 Подпункт 3-1 Подпункт 3-2 Пункт 4 Подпункт 4-1 Подпункт 4-2 |
ну вот подпункт 1-1-соответствеет элементу 0 массива 1. подпункт 1-2-соответствеет элементу 1 массива 1. подпункт 2-1-соответствеет элементу 0 массива 2. подпункт 2-2-соответствеет элементу 1 массива 2. с этим ясно? в гугле набери массив-и будет всё ясно(это набор связанных данных)
var oblojka;-создаёш переменную для формулы(цена обложки это) var cena_oblojka; -создаёш переменную для массива(это имя массива) cena_oblojka=[цена1,цена2,цена3...];(задаёш элементы массива -цену цифрой) допустим в селекте в категории обложка у тебя выбрали третью строчку и эта цифра три допустим у тебя в пременной stroka_oblojka тогда при такой записи stroka_oblojka--; oblojka=cena_oblojka[stroka_oblojka]; ты получаеш стимость выбранной обложки и почитай про селект-там всё это есть-и не один раз как пункты его создать и давай завязывать с этой темой-а то я получу по шее от админа сайта. |
Что-то на подобии этого?
var oblojka = new Array("oblojka", 1, true) var oblojka = ["oblojka", 1, true] Или я опять не так понял |
неправильно
var cena_oblojka=[цена1,цена2,цена3...]; почитай справочник-массив по английски array |
Вот, нашел в инете. Оно?
Пример 1. array_push()$stack = array ("orange", "banana"); array_push ($stack, "apple", "raspberry"); В результате выполнения этого примера переменная $stack будет содержать следующие элементы: Array ( [0] => orange [1] => banana [2] => apple [3] => raspberry ) |
|
Часовой пояс GMT +3, время: 06:53. |