我正在使用select2
v:4.0.6 和ajax调用来搜索wordpress自定义表。但是当我在控制台中检入错误消息时,搜索字段显示任何值
NO result found
我不确定,但是也许我在ajax调用中犯了错误。有人可以帮助我解决此问题。
注意:我正确声明了所有enqueue_scripts
。
显示select2
字段
<select id="bRsearch" class="js-data-brname-ajax"></select>
这是我的ajax
(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 );
此ajax调用的PHP函数
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' );