Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите с написанием JavaScript (https://javascript.ru/forum/misc/24454-pomogite-s-napisaniem-javascript.html)

maxim339 30.12.2011 12:23

Помогите с написанием JavaScript
 
Есть проблема. Делается сайт каталога автомобилей и необходимо сделать поиск по каталогу.
То есть два выпадающих списка, один с маркой авто, а второй с моделью, примерно также, как это организовано на сайте 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 есть такой список

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

Livaanderiamarum 30.12.2011 13:11

Цитата:

Сообщение от maxim339 (Сообщение 147345)
На сайте http://auto.ngs.ru/?menu есть такой список

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

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

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

maxim339 30.12.2011 13:26

Цитата:

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

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

Цитата:

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

Цитата:

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

Livaanderiamarum 30.12.2011 13:35

Цитата:

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

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

Livaanderiamarum 30.12.2011 13:36

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

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

nerv_ 30.12.2011 13:39

Цитата:

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

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

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

согласен
Цитата:

Сообщение от maxim339
Как сделать такое динамическое заполение???

написать программный код под Вашу задачу

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

Цитата:

Сообщение от maxim339 (Сообщение 147361)
Вот например есть первый список с категориями и ниже два списка с модификациями. 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

Цитата:

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

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

Livaanderiamarum 30.12.2011 13:57

Цитата:

Сообщение от maxim339 (Сообщение 147366)
Ява скрипт я не знаю как написать

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

Livaanderiamarum 30.12.2011 14:08

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

melky 30.12.2011 14:59

http://www.tigir.com/javascript_select.htm

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

Цитата:

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

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

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

почему ?

Цитата:

Сообщение от maxim339 (Сообщение 147345)
Необходимо сделать такой же, чтобы при выборе в одном списке какой-либо марки авто, во втором появлялись их модификации.
Все хранится в базе данных, загружаться будут в массивы. Как это организовать понятия не имею, просто в 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

Цитата:

Сообщение от maxim339 (Сообщение 147387)
Уже подсказали как это реализовать.

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


Часовой пояс GMT +3, время: 16:12.