Я создал таблицу в WordPress под названием «болезни» и хочу получить к ней доступ с помощью автозаполнения от плагина. jQuery UI Autocomplete 1.11.4 уже включен. Нет ошибки, но автозаполнение не работает. Я получаю доступ к базе данных и ответ в консоли, равный искомому термину.
ТАБЛИЦА
code text
B15.0 Epidemischer Ikterus mit Coma hepaticum
... ....
HTML
<input type="text" name="mybox" id="mybox" />
JS
jQuery(function() {
jQuery('#mybox').autocomplete({
// add the way to the file with database query
source : '../wp-content/plugins/termbrowser/controllers/tags.php',
minLength : 3,
// what happens when user chooses autocomlete suggestion
onSelect : function(suggestion) {
alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
}
});
});
PHP
require_once($_SERVER['DOCUMENT_ROOT'] . $folder . '/wp-config.php');
require_once($_SERVER['DOCUMENT_ROOT'] . $folder . '/wp-load.php');
$query = isset($_GET['term']) ? $_GET['term'] : FALSE;
global $wpdb;
$table = $wpdb->prefix . 'diseases';
$depts = $wpdb->get_results( "select text from $table where text like '" . $query . "%' order by length(text)" );
foreach($depts as $row) {
$data['value'] = $row->text;
$data['data'] = $row->code;
}
$response = array(
'suggestions' => $data
);
echo json_encode ($response);
Попробуйте использовать 'term'
вместо 'query'
Вот Вы можете увидеть пример плагина.
Обратите внимание, что вам нужно вернуть массив JSON с id
label
value
:
"id"=>$value, "label"=>$key, "value" => strip_tags($key)
нет внутри 'suggestions'
Других решений пока нет …