【问题标题】:Autocomplete using jquery in wordpress not working在wordpress中使用jquery自动完成不起作用
【发布时间】:2016-06-10 20:29:07
【问题描述】:

我正在使用 wordpress,我希望有一个搜索文本框,它会在 keychange 时自动完成。自动完成的结果应该来自包含产品名称的数据库。

这是我所拥有的,但它不起作用。什么都没有显示。

$(document).ready(function() {
$("#product").autocomplete({
    source: function(request, response){
        $.getJSON("../searchProduct.php"){
            term: $(#product).val()
        }, response);
    }
});

在 searchProduct.php 上,我有:

<?php
global $wpdb;
require_once('/wp-config.php');

$searchTerm = $_GET['term'];
$searchTerm = esc_sql($searchTerm);
$searchTerm = like_escape($searchTerm);

$results = $wpdb->get_results("SELECT * FROM wp_products WHERE productName LIKE '".$searchTerm."%'");     
    foreach ( $results as $products ) {
        $data[] = $products->productName;
    }
}

echo json_encode($data);
?>

可能是什么问题?提前谢谢!

【问题讨论】:

  • 如果您在 Chrome(或 FireFox 中的等效工具)的开发人员工具中查看网络选项卡,您能看到 ajax 调用吗?它是否返回 200 状态?有回应吗?

标签: php jquery json wordpress autocomplete


【解决方案1】:

如果没有一些错误信息,很难判断问题到底是什么。如果您检查,响应代码是什么? 404? 500?

我注意到的一件事是您正在使用$(document).ready(function() {,而 Wordpress 需要无冲突的 jQuery 包装器。尝试将该行换成jQuery(function($) {

如果您需要,这里有更多信息:http://wptricks.net/jquery-noconflict-wrappers-on-wordpress/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 2015-06-08
    • 2014-04-28
    • 2011-01-05
    • 1970-01-01
    相关资源
    最近更新 更多