Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с Ajax и PHP, Работа с Ajax и PHP 
:(
    Опции темы
MedvedDima
Дата 5.11.2008, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 27.10.2008

Репутация: нет
Всего: нет



Помогите пожалуйста!!!
Есть два выпадающих списка. В одном хранятся имена типов товаров, а в другом товары по выбраному типу. Как можно сделать так чтоб при выборе элемента в первом списке (с типами товаров) во втором выводились только нужные мне элементы без перезагрузки страницы. Я так понимаю это должно быть организовано на Ajax'е. Но с ним я никогда не работал. Помогите плиз.
PM MAIL   Вверх
skyboy
Дата 5.11.2008, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260




M
skyboy
Тема перенесена из "РНР: Общие вопросы"

AJAX == Asynchronious Javascript And Xml
к РНР никакого отношения.
PM MAIL   Вверх
Edd
Дата 5.11.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 23.3.2006

Репутация: нет
Всего: 1



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

Файл form.php
Код

<script type="text/javascript">
var request=false;
try 
{
    request = new XMLHttpRequest();
} 

catch (trymicrosoft) 
{
    try 
    {
        request = new ActiveXObject("Msxml2.XMLHTTP");
    } 
    
    catch (othermicrosoft) 
    {
        try 
        {
            request = new ActiveXObject("Microsoft.XMLHTTP");
        } 
        
        catch (failed) 
        {
            request = false;
        }
    }
}
   
if (!request)
{
     alert("Error initializing XMLHttpRequest!");
}

function load_city_list()
    {    
        
        var country = document.getElementById("country_id");//Получаем выбранную страну
        var country_value = country.options[country.selectedIndex].value;
        //alert (country_value);
        url="get.php?action=addcity&id_country="+country_value;
        request.open("GET", url, true);
        request.onreadystatechange = get;
        request.send(null);
    }
function get()
{
    if (request.readyState == 4 && request.status == 200)
    {
//Выводим в нужный див
        document.getElementById("city_div").innerHTML="<select id='city_id' name='city_name'>"
                        + "<option value='0'>Select City</option>"
                        + request.responseText
                        + "</select>";
    }
}
function submit_check()
{    xajax.$('submitButton').disabled=true;
    xajax.$('submitButton').value="please wait...";
    xajax_processForm(xajax.getFormValues("signupForm"));
    return false;
}

</script>


Сдесь уже то, что в body
Код

<tr>
                    <td>Country</td>
                    <td><select name="Country" id="country_id" onchange="load_city_list()" >
                        <option value="0" selected>Select Country</option>
                            <? foreach ($result as $row){?>
                            <option value="<?=$row["id"]?>"><?=$row["Country"]?></option>
                            <?}?>
                        </select>
                    </td>
                </tr>
                <tr>
                    <td>City</td>
                    <td>
                        <div id="city_div">
                        <select name="City" id="city_id" >
                          <option value="0">Select City</option>
                            <? foreach ($list_Manufacturer as $row){ ?>
                                <option value="<?=$row["id"]?>"><?=$row["name"]?></option>
                            <?}?>
                        </select>
                        </div>
                    </td>
                </tr>

-------------------------------------------------
далее get.php - выйл, где с базы получаем данные и выводим их на экран, AJAX этот текст возьмет и вставит куда вам надо

Код

$action=$_REQUEST["action"];
switch($action)
    {
    case "addcity":
        {
        $my = new MySql();
        $result=$my->getCity($_REQUEST["id_country"]);
        if (!empty ($result))
            {            foreach ($result as $row)
                {    
                    ?>
                    <option value="<?=$row["id"]?>"><?=$row["city"]?></option>
                    <?
                }
            }
        break;
        }


Надеюсь разберёшся
PM MAIL   Вверх
MedvedDima
Дата 5.11.2008, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 27.10.2008

Репутация: нет
Всего: нет



Спасибо большое!!! Помогли.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.