1

我试图将 Jquery 自动完成添加到 wordpress。我有一个有效的 jquery ajax 搜索,它可以获取用户名。

我想用自动完成来做到这一点。我注意到我们需要使用 jason 来传递数据。

有人可以指导我正确的方法来做到这一点。这是header.php

  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"/></script>
 <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"/></script>

这是我尝试实现的javascript。

  $("#searchbox").keyup(function(e){
        e.preventDefault();
        var search_val=$("#searchbox").val(); 
        $.ajax({
            type:"POST",
            url: "./wp-admin/admin-ajax.php",
            data: {
                action:'wpay_search', 
                user_name:search_val
            },
            success:function(data){

                //if(data==""){
                //  return false;
                //}
                $('#search_result').html(data);
            }
    });   
});

这是wordpress插件中的php代码

function wpay_search() {

    global $wpdb;
    $name=$_POST['user_name'];
    $employee=$wpdb->get_results("SELECT First_Name FROM table_list WHERE First_name LIKE '$name%' ");

    foreach($employee as $key=> $value){

     echo '<ul>';
     echo '<li>'.$value->First_Name;'</li>';
     echo '</ul>';
  //   echo $value->post_content;

   }

    //wp_reset_query();
    die();
} // end theme_custom_handler
add_action( 'wp_ajax_wpay_search', 'wpay_search' );
add_action( 'wp_ajax_nopriv_wpay_search', 'wpay_search' );

在 jquery 自动完成示例中,我发现了这个

$( "#birds" ).autocomplete({
      source: "search.php",
      minLength: 2,
      select: function( event, ui ) {
        log( ui.item ?
          "Selected: " + ui.item.value + " aka " + ui.item.id :
          "Nothing selected, input was " + this.value );
      }
    });

source在这里,由于我使用 wordpress,我不清楚如何将数据传递到其中。这个怎么做?

4

1 回答 1

1

在我用 json 编码字符串后,我可以解决这个问题。

于 2015-03-24T23:12:26.823 回答