Вход

Просмотр полной версии : Помогите с написанием JavaScript


maxim339
30.12.2011, 12:23
Есть проблема. Делается сайт каталога автомобилей и необходимо сделать поиск по каталогу.
То есть два выпадающих списка, один с маркой авто, а второй с моделью, примерно также, как это организовано на сайте http://auto.ngs.ru/?menu .
Как сделать такое динамическое заполение???
Заранее благодарен за помощь.

Livaanderiamarum
30.12.2011, 12:26
http://javascript.ru/forum/job/

http://learn.javascript.ru/

maxim339
30.12.2011, 12:29
Так и знал, что не помощь окажут, а ссылку на книгу дадут или что-то подобное. Я понятия не имею вообще как это организовать и что в том учебнике искать. :help:

Livaanderiamarum
30.12.2011, 12:57
Конечно, вот если бы ты написал:
_______________________________________________
Ребят у меня тут проблема, обьект не создается:
var q = {width;200}
ошибку выдает
_______________________________________________

тогда бы тебе помогли) ну по крайней мере я помог бы).

А так ты пишешь:
______________________
ну короче я ни че не знаю, щас кое че сделать хочу и бабла получить, ся ни строчки кода не написал, и даже не знаю как писать, научите меня или лучше сдеалйте за меня!
______________________

на что ты расчитывал)

Livaanderiamarum
30.12.2011, 12:58
Опиши свою проблему и тебе скажу что делать)

maxim339
30.12.2011, 13:08
На сайте http://auto.ngs.ru/?menu есть такой список
http://s017.radikal.ru/i430/1112/73/978809793ca8.jpg
Необходимо сделать такой же, чтобы при выборе в одном списке какой-либо марки авто, во втором появлялись их модификации.
Все хранится в базе данных, загружаться будут в массивы. Как это организовать понятия не имею, просто в JavaScript я совсем новичек

Livaanderiamarum
30.12.2011, 13:11
На сайте http://auto.ngs.ru/?menu есть такой список
http://s017.radikal.ru/i430/1112/73/978809793ca8.jpg
Необходимо сделать такой же, чтобы при выборе в одном списке какой-либо марки авто, во втором появлялись их модификации.
Все хранится в базе данных, загружаться будут в массивы. Как это организовать понятия не имею, просто в JavaScript я совсем новичек

Если проблема в том что нужно сделать то это не беда - делай)
Если проблема в том что нужно сделать и ты не можешь, не беда - учи)
Если проблема в том что нет время на то чтобы учить тогда эта работа не твоего уровня, просто откажись от неё) за тебя делать ни кто просто так не будет) люди тратили время на то чтобы обучиться.

а вообще делается так: при изменении списка делаешь аяксом запрос на сервер, он подгружает тебе массив для правого списка, и как подгрузит, засовываешь данные из этого массива в правый список) в чем проблема не пойму)))

maxim339
30.12.2011, 13:26
Если проблема в том что нужно сделать то это не беда - делай)
Если проблема в том что нужно сделать и ты не можешь, не беда - учи)
Если проблема в том что нет время на то чтобы учить тогда эта работа не твоего уровня, просто откажись от неё) за тебя делать ни кто просто так не будет) люди тратили время на то чтобы обучиться.

Если бы я на заказ делал бы, тогда я бы попросту не брал бы эту работу... Необходимо это именно мне...

Пусть у меня например будет список с марками авто, с id="categories" и каждое значение в нем будет иметь value="1", value="2" и т д. А ниже будут списки с модификациями, которые будут иметь id, равные value в первом списке... Как сделать, чтобы при щелчке по первому списку отображался другой, а остальные были скрыты.

Если проблема в том что нужно сделать и ты не можешь, не беда - учи)

Проблема сто процентов решается двумя строками...

за тебя делать ни кто просто так не будет) люди тратили время на то чтобы обучиться

Всегда думал, что форумы для того и существуют, чтобы знающий человек мог оказать помощь незнающеему

Livaanderiamarum
30.12.2011, 13:35
Всегда думал, что форумы для того и существуют, чтобы знающий человек мог оказать помощь незнающеему

так мы тут и помогаем тем кто что-то не понимает) пришли свои наработки я их поправлю и подскажу как сделать)

Livaanderiamarum
30.12.2011, 13:36
Пусть у меня например будет список с марками авто, с id="categories" и каждое значение в нем будет иметь value="1", value="2" и т д. А ниже будут списки с модификациями, которые будут иметь id, равные value в первом списке... Как сделать, чтобы при щелчке по первому списку отображался другой, а остальные были скрыты.
__________________________

почему ты вот этого в шапке треда не написал)? вот твой вопрос) пришли что у тебя есть и я поправлю.

nerv_
30.12.2011, 13:39
Конечно, вот если бы ты написал:
_______________________________________________
Ребят у меня тут проблема, обьект не создается:
var q = {width;200}
ошибку выдает
_______________________________________________

тогда бы тебе помогли) ну по крайней мере я помог бы).

А так ты пишешь:
______________________
ну короче я ни че не знаю, щас кое че сделать хочу и бабла получить, ся ни строчки кода не написал, и даже не знаю как писать, научите меня или лучше сдеалйте за меня!
______________________
согласенКак сделать такое динамическое заполение???
написать программный код под Вашу задачу

maxim339
30.12.2011, 13:44
<select id="categories" size="1">
<option value="1">Ваз</option>
<option value="2">Уаз</option>
</select>

<select id="1" size="1">
<option value="1">Ваз 2107</option>
<option value="2">Ваз 2108</option>
</select>

<select id="2" size="1">
<option value="1">Уаз 2107</option>
<option value="2">Уаз 2108</option>
</select>

Вот например есть первый список с категориями и ниже два списка с модификациями. Value первого списка равен id второго. Вот надо сделать так, чтобы при щелчке на первом списке появлялся список с тем id, а остальные были скрыты

Livaanderiamarum
30.12.2011, 13:48
Вот например есть первый список с категориями и ниже два списка с модификациями. Value первого списка равен id второго. Вот надо сделать так, чтобы при щелчке на первом списке появлялся список с тем id, а остальные были скрыты

Ну и повесь на событие onclick функцию которая брала значение id выбранного ныне значения и делала видным нужный тебе список, а остальные списки пусть скрытые будут.

maxim339
30.12.2011, 13:50
К сожалению ничего нет

maxim339
30.12.2011, 13:51
Ява скрипт я не знаю как написать

maxim339
30.12.2011, 13:53
ну короче я ни че не знаю, щас кое че сделать хочу и бабла получить

Еще раз говорю это не на заказ, а мне нужно самому

Livaanderiamarum
30.12.2011, 13:54
в списках подобных значения выбранного достаются ТАК:



//получаешь нужное поле таблицы, где table имя таблицы а list имя списка
list = document.table.list
//выбранный в нем в данный момент индекс доступен как
list.selectedIndex //тут лежат цифра выбранного по счету элемента списка
//а ЗНАЧЕНИЕ, то есть слова которые находятся в пункте списка достаются так
list.options[/*и тут номер элемента списка*/].innerHTML

//ну и как бонус в квадратные скобки куда нужно вставлять номер интересующего элемента списка можно вставить номер текущего выбранного элемента списка, который хранится, как написано выше, в list.selectedIndex
list.options[list.selectedIndex].innerHTML //тут лежит ТЕКСТ ныне выбранного элемента списка, можешь проверить)

Livaanderiamarum
30.12.2011, 13:55
Еще раз говорю это не на заказ, а мне нужно самому
ну не обижайся, но лично мне просто вломы писать то, что есть в учебниках. на этом сайте есть куча обучающих статей, я могу тебе их сюда скопировать. И мне банально ЛЕНЬ набирать все руками заного) по этому я ссылку и дал. Какая разница что ты там прочтешь что я тут напишу.

Livaanderiamarum
30.12.2011, 13:57
Ява скрипт я не знаю как написать

ну я же сказал как эта проблема решается)

Livaanderiamarum
30.12.2011, 14:08
Давай так, рас ты знаешь все что есть в учебнике я подскажу тебе алгоритм?

melky
30.12.2011, 14:59
http://www.tigir.com/javascript_select.htm

там есть готовый код. вам остаётся только адаптировать html настроить скрипт.


Всегда думал, что форумы для того и существуют, чтобы знающий человек мог оказать помощь незнающеему
а я думал, что просят о помощи, употребляя ключевые слова, кроме "заранее благодарю".

вы предлагаете за вас сделать работу. а за работу обычно платят деньги.
Конечно, форумы для этого и существуют, и возможно, кто-нибудь бы и написал вам скрипт безвозмездно (для практики), но сделать этого сейчас не представляется возможным.

почему ?


Необходимо сделать такой же, чтобы при выборе в одном списке какой-либо марки авто, во втором появлялись их модификации.
Все хранится в базе данных, загружаться будут в массивы. Как это организовать понятия не имею, просто в JavaScript я совсем новичек
для этого необходимо :

пояснить, каким образом данные бедут забираться из базы
иметь внешнюю (html+css) заготовку для положений работы. в вашем случае лучше два - до выбора категории и после.

maxim339
30.12.2011, 15:01
Уже подсказали как это реализовать.
<!DOCTYPE html>
<html>
<head>

<style type="text/css">
#list-2 {
display: none;
}

</style>
<script type="text/javascript">
function Go(Obj) {
var i,od,o=document.getElementById(Obj.value)
for (i=0; i<Obj.options.length; i++)
{
od=document.getElementById(Obj.options[i].value)
od.style.display=(od==o)? 'inline': 'none'
}
}
</script>
</head>

<body>
<form method="post" action="">
<select size="1" name="vibor" onchange='Go(this)'>
<option value="list-1">Ваз</option>
<option value="list-2">Уаз</option>
</select>

<select size="1" id="list-1">
<option value="1">Ваз 1</option>
<option value="2">Ваз 2</option>
<option value="3">Ваз 3</option>
</select>

<select size="1" id="list-2">
<option value="1">Уаз 1</option>
<option value="2">Уаз 2</option>
<option value="3">Уаз 3</option>
</select>
<form>
</body>
</html>
</body>
</html>


Почти как я и говорил, код в 4 строчки...

Livaanderiamarum
30.12.2011, 15:09
Уже подсказали как это реализовать.

Да, всегда пожалуйста)