ФорумПрограммированиеJavaScript → Снова вопрос по динамическим select-ам

Снова вопрос по динамическим select-ам

  • mario

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

    Spritz 18 ноября 2010 г. 18:54, спустя 1 минуту 36 секунд


    а задание какое?) Сделать динамические списки с жуйквери и мускл-базой? Ну с объяснением как и че работает человеку - 2 часа думаю
    нихуя у тебя цена за час получается )))

    Абырвалг, я и не про программирование
    )))
  • Lion_astana

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

    Spritz 18 ноября 2010 г. 21:47, спустя 2 часа 53 минуты 18 секунд

    Спасибо за пиздёж в теме, обидно что не по теме.Задал вопрос, спросил совета - нихуя!
  • Lion_astana

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

    Spritz 18 ноября 2010 г. 22:30, спустя 42 минуты 6 секунд

    В общем что получается:добавил в коде строчку:mysql_set_charset('utf8');, а также вернул "на место" старую строчку в жс,вот все скрипты:


    <!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;>
    <html>
    <head>
    <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=windows-1251&quot;>
    <title>Untitled Document</title>
    <script type=&quot;text/javascript&quot; src=&quot;jquery.js&quot;></script>
    <script type=&quot;text/javascript&quot; src=&quot;selects.js&quot;></script>
    </head>
    <body>
    <form action=&quot;#&quot; method=&quot;get&quot;>
    <p>Страна</p>
    <select name=&quot;country_id&quot; id=&quot;country_id&quot;>
    <option value=&quot;0&quot;>- выберите страну -</option>
    <option value=&quot;1&quot;>Казахстан</option>
    <option value=&quot;2&quot;>Россия</option>
    <option value=&quot;3&quot;>Польша</option>
    </select>
    <p>Регион:</p>
    <select name=&quot;region_id&quot; id=&quot;region_id&quot; disabled=&quot;disabled&quot;>
    <option value=&quot;0&quot;>&amp;nbsp;</option>
    </select>
    </form>
    </body>
    </html>



    Вот get_regions:
    <?php
    $db = mysql_connect (&quot;localhost&quot;,&quot;alex&quot;,&quot;12345&quot;);
    mysql_select_db(&quot;optoviki&quot;,$db);

    mysql_set_charset(&#39;utf8&#39;);

    $country_id = @intval($_GET[&#39;country_id&#39;]);

    $result2 = mysql_query (&quot;SELECT `id`,`title` FROM `gorod` WHERE `id_strana` = $country_id&quot;,$db);
    $myrow2 = mysql_fetch_array($result2);

    $regions = array();
    while($myrow2=mysql_fetch_array($result2)) {
    $regions[] = $myrow2;
    }

    $result = array(&#39;type&#39;=>&#39;success&#39;,&#39;regions&#39;=>$regions);

    /*
    * Упаковываем данные с помощью JSON
    */
    print json_encode($result);
    ?>




    Вот selects.js:



    $(document).ready(function () {
    $(&#39;#country_id&#39;).change(function () {
    var country_id = $(this).val();
    if (country_id == &#39;0&#39;) {
    $(&#39;#region_id&#39;).html(&#39;&#39;);
    $(&#39;#region_id&#39;).attr(&#39;disabled&#39;, true);
    return(false);
    }
    $(&#39;#region_id&#39;).attr(&#39;disabled&#39;, true);
    $(&#39;#region_id&#39;).html(&#39;<option>загрузка…</option>&#39;);

    var url = &#39;get_regions.php&#39;;

    $.get(
    url,
    &quot;country_id=&quot; + country_id,
    function (result) {
    if (result.type == &#39;error&#39;) {
    alert(&#39;error&#39;);
    return(false);
    }
    else {
    var options = &#39;&#39;;
    $(result.regions).each(function() {
    options += &#39;<option value=&quot;&#39; + $(this).attr(&#39;id&#39;) + &#39;&quot;>&#39; + $(this).attr(&#39;title&#39;) + &#39;</option>&#39;;
    });

    $(&#39;#region_id&#39;).html(options);
    $(&#39;#region_id&#39;).attr(&#39;disabled&#39;, false);
    }
    },
    &quot;json&quot;
    );
    });
    });



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

    Вопрос:кто-нибудь может подсказать куда теряется первый элемент массива?
  • LIFF

    Сообщения: 188 Репутация: N Группа: Адекваты

    Spritz 19 ноября 2010 г. 4:33, спустя 6 часов 3 минуты 44 секунды

    Убери строку $myrow2 = mysql_fetch_array($result2); перед циклом
  • technobulka

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

    Spritz 19 ноября 2010 г. 4:36, спустя 2 минуты 53 секунды

    оО кому-то не лень было все читать))
    Высокоуровневое абстрактное говно
  • Lion_astana

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

    Spritz 19 ноября 2010 г. 9:46, спустя 5 часов 10 минут 8 секунд

    Всем спасибо, разобрался сам.

    Убери строку $myrow2 = mysql_fetch_array($result2); перед циклом


    Я сделал так:
    $myrow2 = mysql_fetch_array($result2);

    $gorods = array();
    do{
    $gorods[] = $myrow2;
    }
    while ($myrow2 = mysql_fetch_array($result2));

    $result = array(&#39;type&#39;=>&#39;success&#39;,&#39;gorods&#39;=>$gorods);
  • Абырвалг

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

    Spritz 19 ноября 2010 г. 10:08, спустя 22 минуты 9 секунд

    чем обусловлен выбор цикла с пост-условием?
  • krasun

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

    Spritz 20 ноября 2010 г. 19:11, спустя 1 день 9 часов 2 минуты


    чем обусловлен выбор цикла с пост-условием?

    чем обусловлен твой вопрос? {+++62+++} да, ты прав, я в код не вглядывался
  • Ambrase

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

    Spritz 12 декабря 2010 г. 2:39, спустя 21 день 7 часов 27 минут

    У меня вообще код с этими селектами с Пыхи работает нормально только в хроме, не знаю почему. Как будто бы json не приходит в другие браузеры или не ловится коллбеком.
  • Nyaah

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

    Spritz 12 декабря 2010 г. 5:08, спустя 2 часа 28 минут 43 секунды

    У меня вообще код с этими селектами с Пыхи работает нормально только в хроме, не знаю почему. Как будто бы json не приходит в другие браузеры или не ловится коллбеком.

    а) в мозилле фаербаг что показывает?
    б) в опере драгонфлай что показывает?
    повесь на фейлреквест каллбек дя глянь, в чём проблема
    Work, buy, consume, die

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