ФорумПрограммированиеPHP для идиотов → Связанные с помощью ajax select'ы (jQuery)

Связанные с помощью ajax select'ы (jQuery)

  • serj011

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 12 мая 2010 г. 10:49

    мне нужно реализовать выбор страны, региона и города при регистрации, перерыл уже весь инет в поисках качественного решения, оказываеться проблемма…:) нашел статью "Связанные с помощью ajax select'ы (jQuery)" - http://pyha.ru/articles/php/ajax-select/, скачал исходники, запустил на локалке, выборка не работет…

    обратился к автору статьи с вопросом рабочие ли вообще исходники!? мне ответили "сначала надо поставить Firebug на Firefox и посмотреть, отрабатывают ли Ajax-запросы"…. я не пойму смысла в установке Firebug, я так понимаю, что Firebug это отладчик кода, который предположительно показывает где ошибка… если исходники выложины, то теоретически должны работать:)

    может кто подскажет кто что знает? и вообще у кого нибудь работет выборка?…..
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 мая 2010 г. 10:55, спустя 5 минут 48 секунд

    может у кого нить и работает :)
    Сапожник без сапог
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 12 мая 2010 г. 11:39, спустя 43 минуты 26 секунд

    где твой код?
    все умрут, а я изумруд
  • serj011

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 12 мая 2010 г. 16:24, спустя 4 часа 45 минут 4 секунды


    где твой код?

    а какой именно код?
    я тестировал исходники в таком ввиде, в каком скачал… сделал домен на appserv, загрузил исходники и все…
    менял расширение index.html(в исход.) на php, может в этом дело, не помогло:) может быть дело в кодировки?

    кстати некоторые человеки:) говорят что у них работет, даже придумать тяжело что я могу делать не так…:)
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 12 мая 2010 г. 16:49, спустя 25 минут 37 секунд

    serj011, firebug поможет выяснить где проблема, иначе угадывать только.
    Вы либо ставите firebug и мы разбираемся в проблеме и ее решаем, либо в пустую будем обсуждать наши телепатические способности…
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • disc

    Сообщения: 843 Репутация: N Группа: Джедаи

    Spritz 12 мая 2010 г. 16:50, спустя 20 секунд

    может у тебя стоит какие нить блокировщики javascript, например, NoScript в firefox или еще чо.
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 12 мая 2010 г. 16:54, спустя 4 минуты 16 секунд

    Все, я нашел где ошибка с помощью файрбага :)
    Спустя 56 сек.
    25-ая строка файла select.js

    заменить
    options .= '<option value="' + $(this).attr('id') + '">' + $(this).attr('title') + '</option>';


    на
    options += '<option value="' + $(this).attr('id') + '">' + $(this).attr('title') + '</option>';
    Спустя 32 сек.
    А вообще надо создавать option с помощью document.createElement('option')
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 12 мая 2010 г. 17:03, спустя 8 минут 53 секунды

    А вообще надо создавать option с помощью document.createElement('option')


    да ну нахуй, у тебя ж jQuery в распоряжении
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 12 мая 2010 г. 17:11, спустя 8 минут 13 секунд

    Абырвалг, и что?
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 12 мая 2010 г. 17:23, спустя 12 минут 14 секунд

    ну как бы думаю не стоит спускаться на уровень document.* без надобности.

    $('<option />') // вот и создали элемент
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 мая 2010 г. 17:24, спустя 1 минуту 9 секунд

    Абырвалг, когда у тебя городов в списке будет пара тысяч - придется опуститься до хтмл и innerhtml, поверь ;)
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 12 мая 2010 г. 20:57, спустя 3 часа 32 минуты 37 секунд

    не верю. Один хуй, пару тысяч городов это антиюзабилити. Видал?
    Спустя 210 сек.
    реально существующий магазин

    <script type="text/javascript" src="/includes/javascript/jquery.js"></script>
    <script type="text/javascript" src="/includes/javascript/thickbox.js"></script>

    <script type="text/javascript" src="/includes/javascript/shopping_cart.js"></script>
    <script type="text/javascript" src="/includes/javascript/tooltips/event.js"></script>
    <script type="text/javascript"src="/includes/javascript/tooltips/viewport.js"></script>
    <script type="text/javascript" src="/includes/javascript/tooltips/tooltip.js"></script>
    <script type="text/javascript" src="/includes/javascript/tooltips/tooltip_aux.js"></script>
    <script type="text/javascript" src="/includes/javascript/common.js"></script>
    <script type="text/javascript" src="/includes/javascript/jquery.rightClick.js"></script>
    <script type="text/javascript" src="/admin/includes/javascript/jquery.autocomplete.js"></script>
    <!– … –>

    <!– loginbox_eof //–>
    <script language="javascript">
    var name = document.getElementById('ordercall_name');
    var request;
    function orderCall(url) {
       if($("#ordercall_name").val().length > 0 && $("#ordercall_phone").val().length > 0)
     {
     url = url+'?n='+encodeURI(document.getElementById('ordercall_name').value);
     url = url+'&ph='+document.getElementById('ordercall_phone').value;
     if (window.XMLHttpRequest) {
       request = new XMLHttpRequest();
       request.onreadystatechange = processRequestChangeCall;
       request.open("GET", url, true);
       request.send(null);
     } else if (window.ActiveXObject) {
       request = new ActiveXObject("Microsoft.XMLHTTP");
       if (request) {
         request.onreadystatechange = processRequestChangeCall;
         request.open("GET", url, true);
         request.send();
       }
     }
     }
     else
     {
             alert("Заполните все поля формы!");
     }
    }


    disclaimer: я ни в коем случае не говорю, что кто-то из вас так пишет. Но вы же видите, до чего доводит использование "родных" document.* при наличии jQuery. Не код а гавно
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 12 мая 2010 г. 17:40, спустя 20 часов 43 минуты 21 секунду

    Абырвалг, я не верю что у тебя не было проблем с innerHTML…
    А если и правду не было, то всеравно придешь к document.createElement() когда-нибудь
    Спустя 76 сек.
    зы. не всегда есть jquery, как в одном из проектов у меня на работе…
    Спустя 34 сек.
    зы. еще я не юзаю jq для скриптов greasemonkey или для букмарклетов
    Спустя 17 сек.
    и вообще в jq я юзаю только селекторы и аякс.
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 мая 2010 г. 19:31, спустя 1 час 51 минуту 7 секунд

    и вообще в jq я юзаю только селекторы и аякс.

    +1

    не верю. Один хуй, пару тысяч городов это антиюзабилити. Видал?
    ты по-моему путаешь рюшечки и юзабилити, отсортированный список на 2к стран - значительно выгоднее с точки зрения юзабилити, нежели хуета на эксте. да я уже понял что ты дрочишь на экст и на гквери, но как сказал эдво это не всегда единственное решение и тем более доступное
    Спустя 28 сек.
    антиюзабилити - грузить 100 питсот килобайт кода с сервера, чтобы показать список городов
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 12 мая 2010 г. 20:39, спустя 1 час 7 минут 17 секунд

    хуета на эксте

    просто пример. Можно и на jQuery сделать. Тебя самого-то не заебет листать 2 000 городов в поиске своего? можешь не отвечать, я уже понял, что select с 2000 option это Ъ.
    А мне удобнее начать вводить "ки" и появятся города: Кировоград, Киев, Киверцы, Кисловодск, …


    антиюзабилити - грузить 100 питсот килобайт кода с сервера, чтобы показать список городов

    есть gzip, есть правильные заголовки кеширования

Пожалуйста, авторизуйтесь, чтобы написать комментарий!