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