WordPress AJAX分页对象值不更改

时间:2016-12-20 作者:sdx11

我在管理区内制作了搜索插件,并将此代码用于搜索

var currpeged =1;
var pperpage=50;
jQuery(document).on(\'click\',\'#search,#next,#prev\',function(e) {
                // click search 
                 e.preventDefault();
                jQuery(\'.search-result\').html(\'<p class="text-center"><img src="../wp-admin/images/loading.gif"></p>\');


                if (jQuery(\'#showperpage\').length == 1 ) {

                    pperpage = parseInt(jQuery(\'#showperpage\').val());
                }

                var id=jQuery(this).attr(\'id\');
                if(id == \'prev\'){
                    if(currpeged <= 1){
                        currpeged=1;
                    } else{
                        currpeged-=1;
                    }
                } 

                if(id==\'next\'){
                    currpeged = currpeged + 1;  
                }
                var srch={
                    filter1:jQuery(\'#filter1\'),
                    filter2:jQuery(\'#filter2\'),
                    currp:currpeged,
                    perpage:pperpage,
                };

                    jQuery.post(ajaxurl,{
                        \'action\': \'search_do\',
                        \'param\': srch
                    }
                    }).success(function(response){

                    jQuery(\'.search-result\').html(\'\');
                         for (var i = 0; i < response.length; i++) {
                                jQuery(\'.search-result\').append(response[i]);
                        }
                    });
});
负责搜索的php代码是:

    $param = $_POST[\'param\'];
  $str_m=\'\';
    if(is_array( $param)){
        $data = new stdClass();
        foreach ($param as $key => $value)
        {
            $data->$key = $value;
        }
    }
     $args_tt=array(); 
     $args=array(); 
     $query = new WP_Query(array( 
     \'post_type\'       =>    \'custom-post\',          // name of post type.
     \'posts_per_page\'  =>     100,
     \'orderby\'         =>    \'meta_value_num\',
     \'meta_key\'        =>    $str_m,
     \'order\'           =>    \'ASC\',
     \'meta_query\'      =>     $args,//filters
     \'paged\'          =>     intval($data->currp)+1 //from object

    ));
当我搜索时,我得到了结果,但分页不起作用,currp永远不会递增,结果仍然与以前一样没有分页,请帮助,谢谢。

1 个回复
SO网友:sdx11

这个问题的解决方案在js代码中非常简单,如下所示:

jQuery(document).on(\'click\',\'#search\',{
//search form submit
});
jQuery(document).on(\'click\',\'#next\',{
//next button clicked build search form + paged value
});
jQuery(document).on(\'click\',\'#prev\',{
//prev button clicked build search form + paged value
});

相关推荐

尝试在WordPress中实现AJAX注释,遇到WP错误

我试图在WordPress中为我的评论实现Ajax,使用this tutorial. 但我在将教程中的代码集成到自己的预构建主题时遇到了问题。问题是,我要么得到一个WP错误“检测到重复注释;看来你已经说过了!”或标准500错误。以下是我得到的:下面是我对ajax的评论。js文件如下所示: * Let\'s begin with validation functions */ jQuery.extend(jQuery.fn, { /* * check i