jquery tabledit dropdown: возможно ли получить значения из базы данных mysql? - PullRequest
1 голос
/ 11 октября 2019

Я использую плагин jquery tabledit для обновления базы данных. Работает идеально, как в официальных примерах.

Я могу успешно включить статический выпадающий список с фиксированным количеством опций (определенных в custom_table_edit.js).

Я бы хотел иметь возможность динамическивместо этого получить эти параметры из базы данных, но я не знаю, как настроить код в custom_table_edit.js.

Я могу кодировать это в php с помощью цикла, запрашивающего базу данных и генерирующего поле html <select>,Но у меня нет знаний о javascript или, если это вообще возможно, в этих рамках.

Это файл custom_table_edit.js. Раскрывающийся список определяется тремя вариантами цвета. Я хочу, чтобы этот выпадающий список создавался динамически.

// custom_table_edit.js

$('#example2').Tabledit({
    url: 'example.php',
    eventType: 'dblclick',
    editButton: false,
    columns: {
        identifier: [0, 'id'],
        editable: [[1, 'car'], [2, 'color', '{"1": "Red", "2": "Green", "3": "Blue"}']]
    }
});

Я действительно ничего не пробовал, потому что хотел бы знать, возможно ли это сделать в этой среде.

1 Ответ

0 голосов
/ 11 октября 2019

Добро пожаловать в SO, nucelar.

То, что вы описываете, это HTTP-запрос от клиента к серверу через JavaScript. Обычно это называется AJAX или асинхронный JavaScript и XML. Этот API позволяет вручную отправлять запросы на сервер, и существует несколько реализаций.

Поскольку вы используете jQuery, я рекомендую вам использовать функцию $. Ajax , которая включена вБиблиотека jQuery.

Здесь я привел очень простой пример того, как отправить HTTP-запрос на сервер с помощью метода GET для получения некоторых данных.

$.ajax({
  url: 'https://yourdomain.com', // Where to send the request to. Can also be a file.
  method: 'GET', // What method of request it uses.
  success: function(data) { // When a response is succesfully received.
    // Do something with the received data.
    console.log(data); // Show what the data looks like in the console.
  },
  error: function(jqXHR, textStatus, errorThrown) { // When an error occurs while making a request.
    console.log(jqXHR, textStatus, errorThrown); // Show the error in the console.
  }
});

В вашем случаеurl Значение свойства может быть URL-адресом PHP-файла, в котором вы запрашиваете базу данных и возвращаете результат, как вы упомянули, что вы можете сделать.

Ответ функции AJAX (которая хранится впеременная data в методе success) может быть текстовой, как в string или даже JSON, если вы хотите отправить структурированные данные.

Остерегайтесь асинхронногочасть. Это означает, что код AJAX не останавливает выполнение остальной части кода JavaScript, а просто продолжает работу и возвращается всякий раз, когда HTTP-запрос завершен.

Я надеюсь, что этого достаточно для начала работы. Удачи и не стесняйтесь задавать вопросы.

...