Я хотел бы использовать jQuery UI Autocomplete на Wordpress, но по какой-то причине он не работает.jQuery UI Autocomplete не работает с Wordpress
Во всяком случае, я покажу вам, что у меня есть уже:
HTML
<input type="text" name="db-search" id="db-search" autocomplete="off" />
JavaScript
$('#db-search').autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
url:"/wp-content/themes/your-click/autocomplete.php",
data: { autocomplete: 'true' },
});
}
}, { minLength: 1 });
PHP (autocomplete.php)
<?php
global $wpdb;
$string = wpdb::_real_escape($_GET['term']);
$get_results = $wpdb->get_results("SELECT * FROM yc_customers WHERE website LIKE $string ORDER BY website ASC");
$json[] = '';
foreach ($get_results as $get_result) {
array_push($json, $get_result->website);
}
echo json_encode($json);
flush;
?>
У меня нет ошибок при тестировании с помощью хрома. Поэтому я не знаю, что не так с моим кодом, но, наверное, должно быть что-то не так с PHP.
Спасибо, теперь я получаю error: Uncaught TypeError: Невозможно использовать оператор 'in' для поиска «3» в [""]. Он показывает мне, что эта ошибка исходит от jquery.min.js. Также он говорит, что ответ (данные) (который находится в вашем коде) является анонимной функцией. –
Попробуйте открыть консоль нажатием «Сеть» -> «Ответ». Ответ отправлен с сервера? Возвращается ли 'data' из' $ .post() 'массив, содержащий пустую строку' [""] '? – guest271314
Когда я нажимаю «Сеть», нет так называемого «ответа». Я тестировал его с помощью Chrome и Firefox. Единственное, что я вижу, это то, что сообщение успешно отправлено на autocomplete.php, но оно ничего не возвращает. –