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

Помогите с jquery

  • Tozix

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

    Spritz 11 октября 2010 г. 20: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);

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



    var url = 'lib/get_operators.php';



    $.get(

    url,

    "operator_id=" + operator_id,

    function (result) {

    if (result.type == 'error') {

    alert('error');

    return(false);

    }

    else {

    var options = '';

    $(result.regions).each(function() {

    options += '<option value="' + $(this).attr('id') + '">' + $(this).attr('title') + '</option>';

    });

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

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

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

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

    if (cred_id == '0') {

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

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

    return(false);

    }

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

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



    var url = 'lib/get_operators2.php';



    $.get(

    url,

    "cred_id=" + cred_id,

    function (result2) {

    if (result2.type == 'error') {

    alert('error');

    return(false);

    }

    else {

    var options = '';

    $(result2.regions).each(function() {

    options += '<option value="' + $(this).attr('id') + '">' + $(this).attr('title') + '</option>';

    });

    $('#tarif').html(options);

    $('#tarif').attr('disabled', false);


    }

    },

    "json"

    );

    });

    });

    }

    },

    "json"

    );

    });

    });


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

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

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

  • truth4oll

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

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

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

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

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

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

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

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

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

    var url = 'get_regions.php';

    $.get(
    url,
    "country_id=" + country_id,
    function (result) {
    if (result.type == 'error') {
    alert('error');
    return(false);
    }
    else {
    var options = '';
    $(result.regions).each(function() {
    options += '<option value="' + $(this).attr('id') + '">' + $(this).attr('title') + '</option>';
    });
    $('#region_id').html(options);
    $('#region_id').attr('disabled', false);
    }
    },
    "json"
    );
    });
    $('#region_id').change(function () {
    var region_id = $(this).val();
    if (region_id == '0') {
    $('#tarif_id').html('');
    $('#tarif_id').attr('disabled', true);
    return(false);
    }
    $('#tarif_id').attr('disabled', true);
    $('#tarif_id').html('<option>загрузка…</option>');

    var url = 'get_regions2.php';

    $.get(
    url,
    "region_id=" + region_id,
    function (result) {
    if (result.type == 'error') {
    alert('error');
    return(false);
    }
    else {
    var options = '';
    $(result.regions).each(function() {
    options += '<option value="' + $(this).attr('id') + '">' + $(this).attr('title') + '</option>';
    });
    $('#tarif_id').html(options);
    $('#tarif_id').attr('disabled', false);
    }
    },
    "json"
    );
    });
    });


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

    дуд-трудяга
    Спустя 10 сек.
    работяга
    Спустя 13 сек.
    доходяга)
  • arvitaly

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

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

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

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

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

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

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

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

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

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

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