Распределение автозаполнения изменено на основе выбора консультанта. ⇐ Php
-
Гость
Распределение автозаполнения изменено на основе выбора консультанта.
Привет уважаемые участники! У меня есть форма с полями страны, штата, города и тарифа, а также двумя скрытыми полями zzz1 и zzz2. В настоящее время формируется автоматическое заполнение значений полей ставки, zzz1 и zzz2 на основе выбора города страны и штата, где консультант выбирается пользователем из раскрывающегося списка. до этого момента все работает нормально.
Теперь я хочу сделать zzz1 и zzz2 зависимыми от поля «Консультант». (например, если я выберу консультанта A, то автозаполнение отобразит zzz1 = 80 и zzz2 = 20, а если я выберу консультанта B, то автозаполнение должно отобразить zzz1 = 100 и zzz2 = 0 и т. д. в соответствии с выбором консультанта), где как ставка должна оставаться независимо от выбора консультанта. ну, я попробовал это с помощью оператора case в sql, где он работает, но динамически это не удастся. Я хочу понять, как я могу это сделать во внешнем интерфейсе, можно ли управлять автозаполнением с помощью более чем одного ключа, если это возможно????? Ниже мой код HTML-форма
~~~ ` Страна Штат Город Консультант Оценка Добавить элемент Выберите тип выбрать услугу Выбрать машину Выберите «Консультация» x ` Вот скрипт, который обрабатывает автозаполнение
`
$(document).ready(function () { $(document).on("change", ".country", function(){ // Получаем текущий элемент строки let row = $(this).closest("tr"); // Получаем идентификатор страны из текущего элемента выбора пусть Country_id = $(this).val(); // Используйте AJAX для отправки запроса серверному скрипту $.ajax({ метод: «ПОСТ», URL: "response.php", данные: { идентификатор: Country_id }, тип данных: «html», успех: функция (данные) { // Находим элемент выбора состояния в той же строке и обновляем его параметры row.find(".state").html(данные); // Находим элемент выбора города в той же строке и очищаем его параметры row.find(".city").html('Выбрать машину'); row.find('.price').val(''); row.find('.zzz1').val(''); row.find('.zzz2').val(''); } }); }); // Когда пользователь меняет значение элемента выбора состояния $(document).on("change", ".state", function(){ // Получаем текущий элемент строки let row = $(this).closest("tr"); // Получаем идентификатор состояния из текущего элемента выбора пусть state_id = $(this).val(); // Используйте AJAX для отправки запроса серверному скрипту $.ajax({ метод: «ПОСТ», URL: "response.php", данные: { Сид: state_id }, тип данных: «html», успех: функция (данные) { // Находим элемент выбора города в той же строке и обновляем его параметры row.find(".city").html(данные); row.find('.price').val(''); row.find('.zzz1').val(''); row.find('.zzz2').val(''); } }); }); $(document).on("change", ".city", function(){ // Получаем текущий элемент строки let row = $(this).closest("tr"); // Получаем идентификатор состояния из текущего элемента выбора пусть city_id = $(this).val(); если (city_id.length == 0) { row.find('.price').val(''); row.find('.zzz1').val(''); row.find('.zzz2').val(''); //возвращаться; } еще { // Используйте AJAX для отправки запроса серверному скрипту $.ajax({ URL: 'response.php', тип: «ПОСТ», Тип данных: 'JSON', данные: {cid: city_id} , успех: функция (ответ) { row.find('.price').val(response.price); row.find('.zzz1').val(response.zzz1); row.find('.zzz2').val(response.zzz2); } }); } }); }); ` Скрипт для динамического добавления новой строки в форму ` функция GetPrint() { /*Для печати*/ окно.печать(); } функция БтнДобавить() { /*Добавить кнопку*/ var v = $("#TRow").clone().appendTo("#TBody"); $(v).find("input").val(''); $(v).find("input").autocomplete({ источник: 'backend-script.php' }); $(v).removeClass("d-none"); $(v).find("th").first().html($('#TBody tr').length - 1); }` ~~~ Ниже приведен файл response.php, который получает данные о скорости, zzz1 и zzz2 из базы данных. ~~~ ``
Привет уважаемые участники! У меня есть форма с полями страны, штата, города и тарифа, а также двумя скрытыми полями zzz1 и zzz2. В настоящее время формируется автоматическое заполнение значений полей ставки, zzz1 и zzz2 на основе выбора города страны и штата, где консультант выбирается пользователем из раскрывающегося списка. до этого момента все работает нормально.
Теперь я хочу сделать zzz1 и zzz2 зависимыми от поля «Консультант». (например, если я выберу консультанта A, то автозаполнение отобразит zzz1 = 80 и zzz2 = 20, а если я выберу консультанта B, то автозаполнение должно отобразить zzz1 = 100 и zzz2 = 0 и т. д. в соответствии с выбором консультанта), где как ставка должна оставаться независимо от выбора консультанта. ну, я попробовал это с помощью оператора case в sql, где он работает, но динамически это не удастся. Я хочу понять, как я могу это сделать во внешнем интерфейсе, можно ли управлять автозаполнением с помощью более чем одного ключа, если это возможно????? Ниже мой код HTML-форма
~~~ ` Страна Штат Город Консультант Оценка Добавить элемент Выберите тип выбрать услугу Выбрать машину Выберите «Консультация» x ` Вот скрипт, который обрабатывает автозаполнение
`
$(document).ready(function () { $(document).on("change", ".country", function(){ // Получаем текущий элемент строки let row = $(this).closest("tr"); // Получаем идентификатор страны из текущего элемента выбора пусть Country_id = $(this).val(); // Используйте AJAX для отправки запроса серверному скрипту $.ajax({ метод: «ПОСТ», URL: "response.php", данные: { идентификатор: Country_id }, тип данных: «html», успех: функция (данные) { // Находим элемент выбора состояния в той же строке и обновляем его параметры row.find(".state").html(данные); // Находим элемент выбора города в той же строке и очищаем его параметры row.find(".city").html('Выбрать машину'); row.find('.price').val(''); row.find('.zzz1').val(''); row.find('.zzz2').val(''); } }); }); // Когда пользователь меняет значение элемента выбора состояния $(document).on("change", ".state", function(){ // Получаем текущий элемент строки let row = $(this).closest("tr"); // Получаем идентификатор состояния из текущего элемента выбора пусть state_id = $(this).val(); // Используйте AJAX для отправки запроса серверному скрипту $.ajax({ метод: «ПОСТ», URL: "response.php", данные: { Сид: state_id }, тип данных: «html», успех: функция (данные) { // Находим элемент выбора города в той же строке и обновляем его параметры row.find(".city").html(данные); row.find('.price').val(''); row.find('.zzz1').val(''); row.find('.zzz2').val(''); } }); }); $(document).on("change", ".city", function(){ // Получаем текущий элемент строки let row = $(this).closest("tr"); // Получаем идентификатор состояния из текущего элемента выбора пусть city_id = $(this).val(); если (city_id.length == 0) { row.find('.price').val(''); row.find('.zzz1').val(''); row.find('.zzz2').val(''); //возвращаться; } еще { // Используйте AJAX для отправки запроса серверному скрипту $.ajax({ URL: 'response.php', тип: «ПОСТ», Тип данных: 'JSON', данные: {cid: city_id} , успех: функция (ответ) { row.find('.price').val(response.price); row.find('.zzz1').val(response.zzz1); row.find('.zzz2').val(response.zzz2); } }); } }); }); ` Скрипт для динамического добавления новой строки в форму ` функция GetPrint() { /*Для печати*/ окно.печать(); } функция БтнДобавить() { /*Добавить кнопку*/ var v = $("#TRow").clone().appendTo("#TBody"); $(v).find("input").val(''); $(v).find("input").autocomplete({ источник: 'backend-script.php' }); $(v).removeClass("d-none"); $(v).find("th").first().html($('#TBody tr').length - 1); }` ~~~ Ниже приведен файл response.php, который получает данные о скорости, zzz1 и zzz2 из базы данных. ~~~ ``
Мобильная версия