ФорумПрограммированиеPHP для идиотов → Помогите с jquery

Помогите с jquery

  • Tozix

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

    Spritz 11 октября 2010 г. 12:41

    В общем взял за основу статью
    http://pyha.ru/articles/php/ajax-select/
    Все, что там есть прекрасно работает.

    Добавил третий селект
    примерно так.
    $(document).ready(function () {

    $('#operator_id').change(function () {

    var operator_id = $(this).val();

    if (operator_id == '0') {

    $('#cred_id').html('');

    $('#cred_id').attr('disabled', true);

    return(false);

    }

    $('#cred_id').attr('disabled', true);

    $(&#39;#cred_id&#39;).html(&#39;<option>загрузка…</option>&#39;);



    var url = &#39;lib/get_operators.php&#39;;



    $.get(

    url,

    &quot;operator_id=&quot; + operator_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;#cred_id&#39;).html(options);

    $(&#39;#cred_id&#39;).attr(&#39;disabled&#39;, false);
    $(document).ready(function () {

    $(&#39;#cred_id&#39;).change(function () {

    var cred_id = $(this).val();

    if (cred_id == &#39;0&#39;) {

    $(&#39;#tarif&#39;).html(&#39;&#39;);

    $(&#39;#tarif&#39;).attr(&#39;disabled&#39;, true);

    return(false);

    }

    $(&#39;#tarif&#39;).attr(&#39;disabled&#39;, true);

    $(&#39;#tarif&#39;).html(&#39;<option>загрузка…2222</option>&#39;);



    var url = &#39;lib/get_operators2.php&#39;;



    $.get(

    url,

    &quot;cred_id=&quot; + cred_id,

    function (result2) {

    if (result2.type == &#39;error&#39;) {

    alert(&#39;error&#39;);

    return(false);

    }

    else {

    var options = &#39;&#39;;

    $(result2.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;#tarif&#39;).html(options);

    $(&#39;#tarif&#39;).attr(&#39;disabled&#39;, false);


    }

    },

    &quot;json&quot;

    );

    });

    });

    }

    },

    &quot;json&quot;

    );

    });

    });


    Все три селекта у меня завязаны. В общем, что мне нужно:
    При выборе в первом селекте выбрали первое значение(beeline (value 1)) передавалось далее в обработчик второго селекта.
    Т.е. файлу get_operators2.php передаем не только значение со второго селекта, но и со второго, т.е. operator_id иcred_id . Мне это нужно, что бы сделать из мусуля более точную выборку…

    Если не понятно попробую конкретно на примере объяснить
    Первый селект операторы (Билайн, МТС)
    Выбираем Билайн.
    Во втором селекте высвечиваются 1000, 2000, 3000
    Выбираем 2000
    Далее делается запрос в базу Select что-то в таблице Where operator=Билайн и Что-то=2000;
    И все это выводится на печать.

    Прошу помощи, всю голову уже сломал…

  • truth4oll

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

    Spritz 11 октября 2010 г. 14:06, спустя 1 час 25 минут 30 секунд

    а нах тут два $(document).ready(function () { да ещё и вложенных друг в друга?
  • Tozix

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

    Spritz 11 октября 2010 г. 22:18, спустя 8 часов 11 минут 49 секунд

    я в Java нихрена не соображаю, вот от туда. Если не трудно подскажите, как сделать правильно.
  • Tozix

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

    Spritz 11 октября 2010 г. 22:37, спустя 18 минут 53 секунды

    $(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;
    );
    });
    $(&#39;#region_id&#39;).change(function () {
    var region_id = $(this).val();
    if (region_id == &#39;0&#39;) {
    $(&#39;#tarif_id&#39;).html(&#39;&#39;);
    $(&#39;#tarif_id&#39;).attr(&#39;disabled&#39;, true);
    return(false);
    }
    $(&#39;#tarif_id&#39;).attr(&#39;disabled&#39;, true);
    $(&#39;#tarif_id&#39;).html(&#39;<option>загрузка…</option>&#39;);

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

    $.get(
    url,
    &quot;region_id=&quot; + region_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;#tarif_id&#39;).html(options);
    $(&#39;#tarif_id&#39;).attr(&#39;disabled&#39;, false);
    }
    },
    &quot;json&quot;
    );
    });
    });


    Такой вариант более верный.
    Суть то не в этом, как мне передать из первого селекта во второй?
  • truth4oll

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

    Spritz 12 октября 2010 г. 3:26, спустя 4 часа 49 минут 32 секунды

    http://visualjquery.com/ вот отличный справочник, там всё есть с примерами
    если я вас правильно понял, то вот, передается 2 параметра:

     $.get(&quot;test.cgi&quot;, { name: &quot;John&quot;, time: &quot;2pm&quot; },
    function(data){
    alert(&quot;Data Loaded: &quot; + data);
    });
  • mario

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

    Spritz 12 октября 2010 г. 3:40, спустя 13 минут 41 секунду

    бля обоих что ли минусануть? )
    вы заебали Java это Java, а JavaScript это JabaScript еще общепринятое сокращение JS]
    т.е. нехуй плодить тут код Java подразумевая JS.
    или вот еще нагляднее
    !=
  • truth4oll

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

    Spritz 12 октября 2010 г. 3:45, спустя 4 минуты 37 секунд

    эээ не!! стой!) я искал javascript, ненашел {+++56+++} js блиа, места ж дохера, зачем сокращать
  • mario

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

    Spritz 12 октября 2010 г. 3:46, спустя 1 минуту 50 секунд

    js блиа, места ж дохера, зачем сокращать

    там есть js
    он ниже Java на 4 пункта ) {+++45+++} truth4oll, вообще это послание адресовано ТСу, но и тебя краем касалось :)
  • Абырвалг

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

    Spritz 12 октября 2010 г. 4:37, спустя 50 минут 54 секунды

    Я не ослышался?
  • Sinkler

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

    Spritz 12 октября 2010 г. 4:39, спустя 1 минуту 33 секунды

    все такие нервные… вообще похуй, пусть хоть сиськи жопой называют)))
  • phpdude

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

    Spritz 12 октября 2010 г. 4:44, спустя 5 минут 31 секунду


    все такие нервные… вообще похуй, пусть хоть сиськи жопой называют)))
    +1. просто хуй пинают, вот и нервные, мне вот некогда нервничать, вообще похуй на все)
    Сапожник без сапог
  • Абырвалг

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

    Spritz 12 октября 2010 г. 4:48, спустя 3 минуты 35 секунд

    дуд-трудяга {+++10+++} работяга {+++13+++} доходяга)
  • arvitaly

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

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

    челсаватаркойнинзятяга
  • truth4oll

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

    Spritz 12 октября 2010 г. 5:03, спустя 10 минут 4 секунды

    arvitaly, адекват? :D
  • Tozix

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

    Spritz 12 октября 2010 г. 7:56, спустя 2 часа 52 минуты 53 секунды

    Ппц, сколько грязи и не по теме, я в шоке. Я в Java,JS,JavaScript ноль полный, от того как я назвал Java подобный код ничего не изменится, я один хрен в нем не шарю, даже тупо в синтксисе, ибо никогда небыло необходимости с ним бороться.. а сейчас нужно.

    В общем и целом через jquery конечно красиво и быстро спору нет, но для моих мозгов… сделал то что нужно через JsHttpRequest
    С ним немного по проще.

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