2012-05-18 51 views
1

我创建这里我想使用jQuery来填充自动完成文本框一个WordPress插件和源是从数据库中。jQuery的自动完成脚本没有响应

jQuery脚本

$("#tags").autocomplete({ 
     source: "<?php echo WP_PLUGIN_URL.'/plugin-name/php-file.php'?>" 
    }); 

HTML

<div class="ui-widget"> 
<label for="tags">Tags: </label> 
<input id="tags"> 

PHP

global $wpdb; 
$code = $wpdb->get_results(
     "SELECT suburb as label, post_code as code 
     FROM Sheet1 
     ",ARRAY_A 
     ); 
echo(json_encode($code)); 

但是当我运行此,该脚本将崩溃。

什么似乎是问题?

+2

请提供更多详情。你收到的错误是什么? PHP崩溃还是JS?您是否验证过由PHP输出的源URL实际上存在? –

+0

使用萤火虫控制台,在响应选项卡它返回从数据库的列表,但有一个错误:已达到Firebug响应大小限制。 – Jetoox

+0

萤火控制台响应:[{“标签”:“郊区”,“代码”:“邮政编码”} ..... – Jetoox

回答

1

您没有设置查询过滤器:

global $wpdb; 
$code = $wpdb->get_results(
    "SELECT suburb as label, post_code as code 
    FROM Sheet1 
    WHERE suburb like '%" . $_GET["term"] . "%' 
    LIMIT 0,25 
    ",ARRAY_A 
    ); 
echo(json_encode($code)); 

不过,当然,你需要消毒$_GET["term"]部分。

+0

没错。我已经修复了我的代码,它看起来像这样。谢啦。 :) – Jetoox

+0

不客气。 –