Я использую select2
v: 4.0.6 и вызов ajax для поиска в пользовательской таблице wordpress.Но поле поиска показывает любое значение, когда я проверяю в консоли, я обнаружил сообщение об ошибке вроде NO result found
Я не уверен, но, возможно, я допустил ошибку в своем вызове ajax.Может кто-нибудь помочь мне решить эту проблему.
Примечание: Я объявляю все enqueue_scripts
правильно.
Показать select2
поле
<select id="bRsearch" class="js-data-brname-ajax"></select>
Вот мой Аякс
(function($) {
"use strict";
jQuery(document).ready(function($){
// Search Branch Code with select2 plugin
var ajaxurl = SBLAjax.ajaxurl;
$("select#bRsearch").select2({
ajax: {
url: ajaxurl,
dataType: 'json',
delay: 250,
data: function (params) {
var query = {
q: params.term,
action: 'branchsearch2', // AJAX action for admin-ajax.php
}
return query;
},
cache: true
},
});
});
})( jQuery );
АФункция PHP для этого вызова ajax
function branchsearch2() {
global $wpdb;
$tablename = $wpdb->prefix."sbl_br_name";
$q = $_GET['q'];
$rows = $wpdb->get_results("SELECT s.br_name, s.br_code "
. "FROM wp_sbl_br_name s "
. "WHERE s.br_name LIKE '%" . $q . "%' "
. "OR s.br_code LIKE '%" . $q . "%' "
);
$data = array();
if (is_array($rows)) {
foreach ($rows as $row) {
$code = $row->br_code;
$text = $row->br_name;
$data[] = array('id' => $code, 'text' => $text);
}
}
return json_encode($data);
//--------------------------------------
}
add_action( 'wp_ajax_branchsearch2', 'branchsearch2' );
add_action( 'wp_ajax_nopriv_branchsearch2', 'branchsearch2' );