powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / (Prototype, JSON) как лучше передать массив с данными (id и название)?...
3 сообщений из 3, страница 1 из 1
(Prototype, JSON) как лучше передать массив с данными (id и название)?...
    #36415324
однобитный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть два селекта, в одном марка машины, в другом список моделей марки... при выборе марки селект с моделью очищается и на-лету заполняется соответствующими моделями... например:
выбираю в первом селекте toyota, во втором всё чистится и выводятся марки тойоты, например: corona, corolla, crown и т.д.

т.е. в первом селекте пользователь выбирает id_marki и данные отправляются в php-скрипт через Ajax:

Код: plaintext
1.
2.
3.
4.
5.
6.
// data - массив с данными вида data[id_model] = название модели

$data = Orders::getModelsByMark(Database::getInstance(), $id_marki);

header('Content-type: application/json; charset=utf-8');
echo json_encode($data);

а вот Ajax-скрипт:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
// для вставки данных в селект с моделями
function AddSelectOption(selectObj, text, value, isSelected)
{
if (selectObj != null && selectObj.options != null)
{
selectObj.options[selectObj.options.length] =
new Option(text, value, false, isSelected);
}
}
// подчистка селекта с моделями и заполнение его данными
function ShowModels(value)
{
	new Ajax.Request('/ajax/models/',
	{
	method:'get',
	parameters: { id_marki: value },
	onSuccess: function(transport)
	{
	$('id_model').options.length =  0 ;

// вот тут и есть вопрос... как лучше пробежаться по transport.responseJSON, типа foreach в php, чтобы заполнить селект с моделями через AddSelectOption
// почему-то через transport.responseJSON.lenght не получается...

//	AddSelectOption($('id_model'), "модель", "id_модели", true);
//	AddSelectOption($('id_model'), transport.responseJSON['1'], "1", true);

	}
	}
	);
}

...
Рейтинг: 0 / 0
(Prototype, JSON) как лучше передать массив с данными (id и название)?...
    #36415471
однобитный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
однобитный,
пример моего json-а, может я тут не так делаю...
Код: plaintext
1.
{ 668 :"100 NX", 669 :"200 SX", 670 :"280 ZX", 671 :"300 ZX", 672 :"350 Z", 673 :"Almera", 674 :"Altima", 675 :"Armada", 676 :"Avenir", 677 :"Bassara", 678 :"Bluebird", 679 :"Cedric", 680 :"Cefiro", 681 :"Cherry", 682 :"Cima", 683 :"Crew", 684 :"Cube", 685 :"Datsun", 686 :"Elgrand", 687 :"Gloria", 688 :"Largo", 689 :"Laurel", 690 :"Leopard", 691 :"Liberty", 692 :"Lucino", 693 :"March", 694 :"Maxima", 695 :"Micra", 696 :"Moco", 697 :"Murano", 698 :"Navara", 699 :"Note", 700 :"Pathfinder", 701 :"Patrol", 702 :"PickUp", 703 :"Prairie", 704 :"Presage", 705 :"Presea", 706 :"President", 707 :"Primastar", 708 :"Primera", 709 :"Pulsar", 710 :"Qashqai", 711 :"Quest", 712 :"R Nessa", 713 :"Rasheen", 714 :"Safari", 715 :"Sentra", 716 :"Serena", 717 :"Silvia", 718 :"Skyline", 719 :"Stagea", 720 :"Stanza", 721 :"Sunny", 722 :"Teana", 723 :"Terrano", 724 :"Tiida", 725 :"Tino", 726 :"Urvan", 727 :"Vanette", 728 :"Wingroad", 729 :"X-Terra", 730 :"X-Trail"}
...
Рейтинг: 0 / 0
(Prototype, JSON) как лучше передать массив с данными (id и название)?...
    #36415492
однобитный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разобрался, в JSON надо кодировать было по-уму просто:
Код: plaintext
1.
[{"id":"668","title":"100 NX"},{"id":"669","title":"200 SX"},{"id":"670","title":"280 ZX"},{"id":"671","title":"300 ZX"},{"id":"672","title":"350 Z"},{"id":"673","title":"Almera"},{"id":"674","title":"Altima"},{"id":"675","title":"Armada"},{"id":"676","title":"Avenir"},{"id":"677","title":"Bassara"},{"id":"678","title":"Bluebird"},{"id":"679","title":"Cedric"},{"id":"680","title":"Cefiro"},{"id":"681","title":"Cherry"},{"id":"682","title":"Cima"},{"id":"683","title":"Crew"},{"id":"684","title":"Cube"},{"id":"685","title":"Datsun"},{"id":"686","title":"Elgrand"},{"id":"687","title":"Gloria"},{"id":"688","title":"Largo"},{"id":"689","title":"Laurel"},{"id":"690","title":"Leopard"},{"id":"691","title":"Liberty"},{"id":"692","title":"Lucino"},{"id":"693","title":"March"},{"id":"694","title":"Maxima"},{"id":"695","title":"Micra"},{"id":"696","title":"Moco"},{"id":"697","title":"Murano"},{"id":"698","title":"Navara"},{"id":"699","title":"Note"},{"id":"700","title":"Pathfinder"},{"id":"701","title":"Patrol"},{"id":"702","title":"PickUp"},{"id":"703","title":"Prairie"},{"id":"704","title":"Presage"},{"id":"705","title":"Presea"},{"id":"706","title":"President"},{"id":"707","title":"Primastar"},{"id":"708","title":"Primera"},{"id":"709","title":"Pulsar"},{"id":"710","title":"Qashqai"},{"id":"711","title":"Quest"},{"id":"712","title":"R Nessa"},{"id":"713","title":"Rasheen"},{"id":"714","title":"Safari"},{"id":"715","title":"Sentra"},{"id":"716","title":"Serena"},{"id":"717","title":"Silvia"},{"id":"718","title":"Skyline"},{"id":"719","title":"Stagea"},{"id":"720","title":"Stanza"},{"id":"721","title":"Sunny"},{"id":"722","title":"Teana"},{"id":"723","title":"Terrano"},{"id":"724","title":"Tiida"},{"id":"725","title":"Tino"},{"id":"726","title":"Urvan"},{"id":"727","title":"Vanette"},{"id":"728","title":"Wingroad"},{"id":"729","title":"X-Terra"},{"id":"730","title":"X-Trail"}]
теперь всё в норме
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / (Prototype, JSON) как лучше передать массив с данными (id и название)?...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]