Телефон: 8-965-877-37-02

E-mail: info@r20.store

Режим работы: с Пн-Пт 9:00-19:00

3002200

echo do_shortcode( ‘

‘ );

$( ‘#group_category’ ).change(function () { // При изменении значения первого списка мы должны удалить // все имеющиеся значения во втором и третьем, а также // сделать их неактивными $( ‘#first_subcategory, #duble_subcategory, #three_subcategory, #four_subcategory’ ).find( ‘option:not(:first)’ ) // Ищем все теги option, не являющиеся тегом по умолчанию .remove() // Удаляем эти теги // Чтобы сделать поля неактивными, неправильно менять значение атрибута disabled // Теперь нам нужно изменять значение свойства disabled объектов полей списка, // так как мы работаем с ними через библиотеку jQuery .end() // Возвращаемся к исходному объекту .prop( ‘disabled’,true ); // Делаем поля неактивными // Сохраним выбранное значение списка в переменную var first_id = $( this ).val(); // Если выбрано значение по умолчанию, ничего не делаем if (first_id == 0) { return; } // В ином случае нам необходимо отправить запрос на сервер // AJAX-запрос к серверу мы выполним, используя метод jQuery ajax() $.ajax({ type: «POST», // Тип запроса url: «./include/querycat.php», // Путь к сценарию, обработающему запрос dataType: «json», // Тип данных, в которых сервер должен прислать ответ data: «query=getFirst&first_id=» + first_id, // Строка POST-запроса error: function () { // Обработчик, который будет запущен в случае неудачного запроса alert( «При выполнении запроса произошла ошибка :(» ); // Сообщение о неудачном запросе }, success: function ( data ) { // Обработчик, который будет запущен после успешного запроса // В ответ на наш запрос сервер должен прислать массив значений // Мы его вставим в поле второго списка с помощью цикла for for ( var i = 0; i < data.length; i++ ) { // Каждое полученное значение вставим в список видов транспорта $( '#first_subcategory' ).append( '‘ ); } // После того, как мы сформировали список, мы можем сделать его активным // обратившись к его свойству disabled $( ‘#first_subcategory’ ).prop( ‘disabled’, false ); // Включаем поле } }); }); $firsts = array( 1 => array( // Наземный транспорт 1 => ‘Железнодорожный транспорт’, 2 => ‘Автомобильный транспорт’, 3 => ‘Ручной транспорт’ ), 2 => array( // Водный транспорт 1 => ‘Речной транспорт’, 2 => ‘Морской транспорт’, 3 => ‘Подводный транспорт’ ), 3 => array( // Воздушный транспорт 1 => ‘Самолеты’, 2 => ‘Вертолеты’, 3 => ‘Ракета (шаттл)’ ) ); $kinds = array( // Наземный транспорт 1 => array( // Железнодорожный транспорт 1 => array( 1 => ‘Электропоезд’, 2 => ‘Дизельный поезд’, 3 => ‘Дрезина’ ), // Автомобильный транспорт 2 => array( 1 => ‘Легковой автомобиль’, 2 => ‘Грузовой автомобиль’, 3 => ‘Автобус’ ), // Ручной транспорт 3 => array( 1 => ‘Тачка’, 2 => ‘Тележка’, 3 => ‘Велосипед’ ) ), // Водный транспорт 2 => array( // Речной транспорт 1 => array( 1 => ‘Трамвай’, 2 => ‘Теплоход’, 3 => ‘Ракета’ ), // Морской транспорт 2 => array( 1 => ‘Крейсер’, 2 => ‘Круизный лайнер’, 3 => ‘Баржа’ ), // Подводный транспорт 3 => array( 1 => ‘Подводная лодка’, 2 => ‘Батискаф’, 3 => ‘Капсула смерти’ ) ), // Воздушный транспорт 3 => array( // Самолет 1 => array( 1 => ‘Боинг’, 2 => ‘Аэробус’, 3 => ‘Руслан’ ), // Вертолеты 2 => array( 1 => ‘МИ’, 2 => ‘Апач’, 3 => ‘Черная акула’ ), // Ракета (шаттл) 3 => array( 1 => ‘Союз’, 2 => ‘Апполон’, 3 => ‘Дискавери’, 4 => ‘Буран’ ) ) ); // Проверяем наличие переменной, которая укажет данному сценарию какие именно данные нужны if (!isset($_POST[‘query’]) || !$_POST[‘query’]) { exit(«Нет данных определяющих тип запроса»); } else { // Сохраняем строку запроса данных в отдельной переменной $query = trim($_POST[‘query’]); // Очищаем от лишних пробелов // Определяем тип запроса switch($query) { case ‘getFirst’: // Запрос на получение 1ой подкатегории // Сохраним в переменную значение выбранного типа $first_id = trim($_POST[‘first_id’]); // Очистим его от лишних пробелов // Формируем массив с ответом $result = NULL; $i = 0; foreach ($firsts[$first_id] as $kind_id => $kind) { $result[$i][‘kind_id’] = $kind_id; $result[$i][‘kind’] = $kind; $i++; } break; case ‘getCategories’: // Запрос на получение видов транспорта // Сохраним в переменные значения выбранных типа транспорта и вида транспорта $type_id = trim($_POST[‘type_id’]); // Очистим их от лишних пробелов $kind_id = trim($_POST[‘kind_id’]); // Формируем массив с ответом $result = NULL; $i = 0; foreach ($kinds[$type_id][$kind_id] as $category_id => $category) { $result[$i][‘category_id’] = $category_id; $result[$i][‘category’] = $category; $i++; } break; default: // Если данные не определены $result = NULL; break; } } // Преобразуем данные в формат json, чтобы их смог обработать JavaScript-сценарий, приславший запрос echo json_encode($result);
  • Отображение единственного товара