Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 27.11.2010, 23:14
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

ну с селектами разобрался.посмотри здесь. пременная массив и формы-там описание селекта. селект при выборе возвращает номер выбранной строчки. и с такимже номером у тебя цена стоит в массиве.эту цену ты присваиваеш переменной какую будеш подставлять в формулу расчёта стоимости. ты практически сам сделал 90% работы по своей задаче-причём сложную часть и опустиш руки на простом?)
http://javascript.ru/manual
Ответить с цитированием
  #22 (permalink)  
Старый 27.11.2010, 23:19
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

ну а изображения подключать-посмотри у меня в профиле на днях уже отвечал на подобное-вывод изображений из массива предзагрузки
Ответить с цитированием
  #23 (permalink)  
Старый 27.11.2010, 23:43
Интересующийся
Отправить личное сообщение для gustovskiy Посмотреть профиль Найти все сообщения от gustovskiy
 
Регистрация: 25.11.2010
Сообщений: 21

Вывод изображений я уже понял как делать и описаний тоже. Я только не могу понять как создать код привязанных списков. Смотрел даже похожие скрипты (Страны и города и т.д.) не могу понять как там прикрепить изображение и описание

Вот пример

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];
}
}
Ответить с цитированием
  #24 (permalink)  
Старый 28.11.2010, 00:07
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

через массивы номер данного в котором соответствует номеру выбранной строки в списке. смотри
var oblojka;-создаёш переменную для формулы
var cena_oblojka; -создаёш переменную для массива
cena_oblojka=[цена1,цена2,цена3...];
допустим в селекте в категории обложка у тебя выбрали третью строчку
и эта цифра три допустим у тебя в пременной stroka_oblojka
тогда при такой записи
stroka_oblojka--;
oblojka=cena_oblojka[stroka_oblojka]; ты получаеш стимость выбранной обложки и тоже самое с остальными селектами и составляющими формулы.0 строка в селекте помниться-это ничего не выбранно,ну а нумерация в массиве начинаеться с нуля поэтому строку нужно уменьшить на 1-чтобы обратиться к правильному элементу массива
и при нажатии на кнопку посчитать
цена окончательная=oblojka+другие составляющие(твоя формула-не знаю как ты там рассчитываеш сумируеш умножаеш и т.д)
ну а как вывести эту цену окончательную ты знаеш. подобным образом ты выводиш изображение из массива изображений(либо массив предзагруженных изображений,либо текстовый массив с именами ссылок на изображения)
Ответить с цитированием
  #25 (permalink)  
Старый 28.11.2010, 00:18
Интересующийся
Отправить личное сообщение для gustovskiy Посмотреть профиль Найти все сообщения от gustovskiy
 
Регистрация: 25.11.2010
Сообщений: 21

Процентов 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
Ответить с цитированием
  #26 (permalink)  
Старый 28.11.2010, 00:27
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

ну вот подпункт 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]; ты получаеш стимость выбранной обложки
и почитай про селект-там всё это есть-и не один раз как пункты его создать
и давай завязывать с этой темой-а то я получу по шее от админа сайта.

Последний раз редактировалось dmitriymar, 28.11.2010 в 00:31.
Ответить с цитированием
  #27 (permalink)  
Старый 28.11.2010, 00:36
Интересующийся
Отправить личное сообщение для gustovskiy Посмотреть профиль Найти все сообщения от gustovskiy
 
Регистрация: 25.11.2010
Сообщений: 21

Что-то на подобии этого?
var oblojka = new Array("oblojka", 1, true)
var oblojka = ["oblojka", 1, true]
Или я опять не так понял
Ответить с цитированием
  #28 (permalink)  
Старый 28.11.2010, 00:44
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

неправильно
var cena_oblojka=[цена1,цена2,цена3...];
почитай справочник-массив по английски array
Ответить с цитированием
  #29 (permalink)  
Старый 28.11.2010, 01:04
Интересующийся
Отправить личное сообщение для gustovskiy Посмотреть профиль Найти все сообщения от gustovskiy
 
Регистрация: 25.11.2010
Сообщений: 21

Вот, нашел в инете. Оно?

Пример 1. array_push()$stack = array ("orange", "banana");
array_push ($stack, "apple", "raspberry");

В результате выполнения этого примера переменная $stack будет содержать следующие элементы:
Array
(
[0] => orange
[1] => banana
[2] => apple
[3] => raspberry
)
Ответить с цитированием
  #30 (permalink)  
Старый 28.11.2010, 01:09
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

примерно-но это не ява скрипт)

http://javascript.ru/Array
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменения изображения при выборе из списка hayk Общие вопросы Javascript 10 30.11.2010 10:42
замена изображений в jquery при наведении zlokiz jQuery 0 05.08.2010 22:17
Событие onClick при нажатии пункта меню Lex4e Общие вопросы Javascript 1 25.06.2010 18:31
при выборе в 1-ом select соот.-щая инф. отображается в другом select celencer Общие вопросы Javascript 1 24.05.2009 20:38
Вывод данных единожды, при открытии окна? Ggorsh Events/DOM/Window 1 28.04.2009 01:04