[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ajax и sql
antonov_sa
Здравствуйте!
Подскажите, плиз, как быть -
у меня аякс скрипт, после выбора категории, подгружает селект со списоком подкотегорий, когда я подкатегории просто в скрипт вручную вбиваю все хорошо, а вот как выбирать их из базы не могу придумать..) если просто пхп цикл втыкаю посреди яваскрипта, то нифига не работает)

вот пример
case 'cat_apteka':
loadSelectElement('category', [
['cat_apteka_apteka', 'Аптека'],
['cat_apteka_optika', 'Оптика'],
['cat_apteka_other', 'Разное'],
]);
return;

мне ['cat_apteka_apteka', 'Аптека'], нужно выбирать из базы данных



Спустя 6 минут, 24 секунды (11.03.2010 - 21:20) ApuktaChehov написал(а):
У тебя же Аякс...
Самый простой вариант написать скрипт на php который генерирует строку из подкатегорий. Аякс получает строку и с помощью innerHTML вставляешь эту строку в твой селект. Но это дело под IE не работает. Так как он хреново со списками дружит.


Универсальный вариант это DOM.

Спустя 26 минут, 41 секунда (11.03.2010 - 21:47) antonov_sa написал(а):
Цитата (ApuktaChehov @ 11.03.2010 - 18:20)
У тебя же Аякс...
Самый простой вариант написать скрипт на php который генерирует строку из подкатегорий. Аякс получает строку и с помощью innerHTML вставляешь эту строку в твой селект. Но это дело под IE не работает. Так как он хреново со списками дружит.


Универсальный вариант это DOM.

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

Спустя 11 минут, 17 секунд (11.03.2010 - 21:58) ApuktaChehov написал(а):
Не все так просто. DOM нужно учить и понимать. Ajax так же.
Самый простой вариант с jquery:

var sel_del = get( "select" ); //существующий список, но без подпунктов
// Ajax запрос для подгрузки данных

$.get( "ans_data.php", { data: "value" }, function( data ){

//Создаем массив из данных пришедших с сервера
var arr = data.split( "|" );

//Форимуем список на основе массива arr
for( i = 0; i < arr.length -1; i++ )
{
var sel_opt = document.createElement( 'option' );
sel_opt.setAttribute( "value", i );

// Добавляем текст в элемент
var text = document.createTextNode( arr[i] );
sel_opt.appendChild( text );

//Добавляем элемент в список
data_sel.appendChild( sel_opt );
}
}
);

Спустя 3 минуты, 31 секунда (11.03.2010 - 22:02) antonov_sa написал(а):
Цитата (ApuktaChehov @ 11.03.2010 - 18:58)
Самый простой вариант:
// Ajax запрос для подгрузки данных
$.get( "ans_data.php", { data: "value" }, function( data ){

//Создаем массив из данных пришедших с сервера
var arr = data.split( "|" );

//Форимуем список на основе массива arr
for( i = 0; i < arr.length -1; i++ )
{
var sel_opt = document.createElement( 'option' );
sel_opt.setAttribute( "value", i );

// Добавляем текст в элемент
var text = document.createTextNode( arr[i] );
sel_opt.appendChild( text );

//Добавляем элемент в список
data_sel.appendChild( sel_opt );
}
}
);

а какое содержимое у ans_data.php? )

Спустя 3 минуты, 1 секунда (11.03.2010 - 22:05) ApuktaChehov написал(а):
Что значит какое содержание? Вы php знаете?
Тут Ajax работает не с XML, а с голым текстом. По этому ans_data.php должен возвращать данные в формате:
data1|data2|data3|data4| - это и будут ваши подпункты списка

Спустя 12 часов, 9 минут, 29 секунд (12.03.2010 - 10:14) antonov_sa написал(а):
Цитата (ApuktaChehov @ 11.03.2010 - 19:05)
Что значит какое содержание? Вы php знаете?
Тут Ajax работает не с XML, а с голым текстом. По этому ans_data.php должен возвращать данные в формате:
data1|data2|data3|data4| - это и будут ваши подпункты списка

разобрался, сделал как надо, спасиб

Спустя 1 день, 15 часов, 21 минута, 20 секунд (14.03.2010 - 01:35) vova написал(а):
function op(){

var g;

try {

g = new XMLHttpRequest(); }

catch(e){

try {

g = new ActiveXObject("Microsoft.XMLHTTP"); }

catch(s){

try { g = new ActiveXObject("Msxm12.XMLHTTP"); }

catch(x){

g = null; alert('object - error...' + g);

}}}



g.open("POST","op.txt",false);

g.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

g.send(null);

if(g.status == 200 ){}

var text = g.responseText;

document.all.otv.innerHTML = text;

}

учите ajax
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.