где взять такой JS?

Тема в разделе "PHP", создана пользователем domeni, 28 июл 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. domeni

    domeni

    Регистр.:
    5 июн 2006
    Сообщения:
    217
    Симпатии:
    10
    Как сделать?

    При выборе категории из списка (multiple)

    <select style=\"width:170px;height:240px;\" name="category-' . $i . '-' . $channel_id . '[]' . '" id="category" onchange="onCategoryChange(this.value)" multiple>' . $categories_list . '</select>

    мне необходимо чтобы JS выводил выбранные категории на этой же станице СРАЗУ. без нажатия каких либо кнопок.

    пример
    список категорий (их много)
    Софт
    мцзыка
    ВИДЕО
    анекдоты
    ....

    выбираю (СОФТ, ВИДЕО) и сразу у меня JS выводит в строке (СОФТ, ВИДЕО)

    все категории в БД
     
  2. alica

    alica

    Регистр.:
    28 июл 2008
    Сообщения:
    243
    Симпатии:
    76
    Это можно реализовать через связку JQuery + Ajax

    Это будет выглядеть как-то так:

    Код:
      $(function(){
    
        $("select#form").change(function(){
          $.getJSON("ajax/"+$(this).val()+"/", function(j) {
            var options = '';
            for (var i = 0; i < j.length; i++) {
              options += '<div>' + j[i].fields['content'] + '</div>';
            }
            $("#content").html(options);
          })
          $("select#form").attr('selected', 'selected');
        })
    
      })
    

    Надеюсь идея понятна.:)
     
  3. domeni

    domeni

    Регистр.:
    5 июн 2006
    Сообщения:
    217
    Симпатии:
    10
    если честно, то не совсем ;(

    дело в том. что у меня на одной странице много селектов (списков)!!!
     
  4. alica

    alica

    Регистр.:
    28 июл 2008
    Сообщения:
    243
    Симпатии:
    76
    Тогда,
    Код:
    $("select#id_select").change
    
    и будет работать только в том селекте у которого id="id_select"

    А сама идея такова:

    Как только происходит изменение формы и из списка выбирается опр. значение оно передается в JSON-запрос который отправляется на сервер, полученные данные формируются и вставляются в блок у которого id="content".

    Если же нужно выводить несколько результатов в одном блоке, то $.html заменить $.append
     
Статус темы:
Закрыта.