Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: динамические select + ajax

Сообщения:  [1-1] 

 
 автор: LimP   (02.11.2009 в 19:00)   письмо автору
72 Кб
 
 

Здравствуйте. Есть структура подобного вида:


[Раздел]
    - [Подраздел]
    - [Подраздел] 
       - [Подраздел]
       - [Подраздел]
          - [Товар] 
          - [Товар] 
          - ... 
       - ... 
    - ... 


Задача: сделать динамический список из <select> где при выборе каждого появляется следующий под ним со списком его подразделов (как при выборе страны -> области -> города итп.) но кол-во вложений должно быть динамическим. возле каждого <select> - кнопка или ссылка перехода на страницу данной структуры. Тем самым пытаюсь реализовать меню из селектов. Пытаюсь делать, используя аякс, ничего не выходит. Последняя попытка, использовал JsHttpRequest.

HTML

<form>
        <script src="scripts/JsHttpRequest.js"></script>

        <script>
            function doload(value, where){
                var req=new JsHttpRequest();
                req.onreadystatechange=function(){
                    if(req.readyState==4) document.getElementById(where).innerHTML=req.responseText;}
                req.open(null,"select.php",true);
                req.send({category:value});}
        </script>
        <select id="cat" class="cat-go-form" onchange="doload(this.value, 'result');">
            <option value="no">Выберите Вид Продукции</option>
            <?PHP
            $rs 
mysql_query("SELECT * FROM ".$mPrefix."_content where parentuid=0 and type='folder'");
            while (
$row mysql_fetch_array($rs)) {
                echo 
"<option value=\"{$row['uid']}\">{$row['title']}</option>";
            }
            
?>
        </select>
        <input type="submit" class="submit go-on">
    </form>
    <span id="result"></span>


PHP

$JsHttpRequest=new JsHttpRequest("windows-1251");

$cat = $_REQUEST["category"];

if($cat!="no") {
    
    $html = "<form>
            <select id=\"subcat\" class=\"cat-go-form\" onchange=\"doload(this.value, 'resul');\">
            <option value=\"no\">Выберите Элемент</option>";

    $rs = mysql_query("SELECT * FROM ".$mPrefix."_content where parentuid=$cat and type!='file'");
    while ($row = mysql_fetch_array($rs)) {
        $html .= "<option value=\"{$row['uid']}\">{$row['title']}</option>";
    }

    $html .= "  </select>
            <input type=\"submit\" class=\"submit go-on\">
            <br><br>
            <div id=\"resul\"></div>
        </form>";
}
//В общем-то, все. Теперь просто выводим переменную $html, которую успешно "поймает" наша функция doload().

echo $html;


Результатом моего скрипта новый селект конечно появляется, однако один, а необходимо делать до конца дерева-структуры. Плюс как то потом пробежаться собрать значения, дабы осуществить редирект. Заранее благодарен, ибо бьюсь уже второй день, очень рассчитываю на Вашу помощь.

  Ответить  

Сообщения:  [1-1] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования