Jquery自动完成没有从DB获取数据

时间:2014-11-14 06:58:04

标签: jquery sql database wordpress autocomplete

需要帮助才能使用Jquery自动完成功能从wordpress DB获取博客。

我创建插件,其中一个字段需要提供给用户选项以从网络中选择一些博客。

最好的解决方案是创建Jquery自动完成字段。因此,当用户开始输入时,Jquery自动完成将从DB获得结果。

也许在wordpress核心有现成的解决方案,我想念一些东西?

我有创建字段:

<form method="post">
<input id="mytest" type="text" name="mytest" style="width: 300px" />
 </form>

我已经设置了Jquery代码:

(function( $ ) {
    $(function() {
        $( "#mytest" ).autocomplete({
            source: "<? echo $campaign_plugin_url; ?>/autocomplete.php",
            minLength: 1 // how many character when typing to display auto complete
        });
    });

})( jQuery );

这里是从DB获取博客的代码(在autocomplete.php中)(此代码在wordpress核心中直到3.4):

function wp_ajax_autocomplete_site() { 

            global $wpdb;
            $like_escaped_term = strtolower( $_GET['term'] );
            $sites = $wpdb->get_results( $wpdb->prepare( "SELECT blog_id, domain, path FROM $wpdb->blogs WHERE ( domain LIKE %s OR path LIKE %s ) AND public = '1' AND archived = '0' AND mature = '0' AND spam = '0' AND deleted = '0' ORDER BY registered DESC", $like_escaped_term, $like_escaped_term ), ARRAY_A ); 

            if ( empty( $sites ) )
                        wp_die( -1 ); 

            foreach ( (array) $sites as $details ) {
                        $blogname = get_blog_option( $details['blog_id'], 'blogname' );
                    $return[] = array(
                            'label' => sprintf( '%1$s (%2$s)', $blogname, $details['domain'] . $details['path'] ),
                            'value' => $details['domain']
                        );
            } 

           $response = json_encode( $return );
            echo $response;
        exit();
}

Jquery自动完成工作没有任何错误,但没有得到任何数据。

需要你的帮助!

由于

0 个答案:

没有答案