重新加载php页面的一部分而不刷新整个页面

重新加载php页面的一部分而不刷新整个页面,php,javascript,ajax,wordpress,Php,Javascript,Ajax,Wordpress,我使用Wordpress作为内容管理系统,我的模板有一个带有boxclass的div,并包含一个下拉列表。我的目标是获取此droplist的值,并使用此值在ajax方法中查询post,然后使用ajax重新加载justboxdiv,以获得更清晰的标记: <select> <option value="1">Item 1</option> <option value="2">Item 2</option>

我使用Wordpress作为内容管理系统,我的模板有一个带有
box
class的div,并包含一个下拉列表。我的目标是获取此droplist的值,并使用此值在ajax方法中查询post,然后使用ajax重新加载just
box
div,以获得更清晰的标记:

   <select>

       <option value="1">Item 1</option>

       <option value="2">Item 2</option>

       <option value="3">Item 3</option>

       <option value="4">Item 4</option>

   </select> 

 ------------------
   <div class="content">

     <?php
     $args = array(

        "meta_query" => array(
                array(
                    'key' => 'meta',
                    'value' => '$select_value',
                    )
            )
    );

    query_posts( $args );

      ?> 

      <?php  if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

            <?php the_content(); ?>


      <?php endwhile; else: ?>

             <p>sorry no post found with this value.</p>

      <?php endif; ?>

项目1
项目2
项目3
项目4
------------------
抱歉,找不到具有此值的帖子

我认为示例代码很清楚,但我想在以下过程中执行此操作:

用户在
下拉列表-->获取选择值-->将其放入$select\u value-->运行查询-->显示div框
,而不使用ajax重新加载整个页面

有人能帮我写这个吗

   <select id="select-dropdown">
     <option value="1">Item 1</option>
     <option value="2">Item 2</option>
     <option value="3">Item 3</option>
     <option value="4">Item 4</option>
    </select> 
function.php中

<script type="text/javascript">
 var ajax_url = '<?php echo admin_url('admin-ajax.php'); ?>';
</script>
function _boom_load_posts(){
 //get your results here as per selected option
 if(!empty($_POST['selected_item'])){
  $selected_item = $_POST['selected_item'];
  $output = '';
  //rest of the code as per selected_item, store result in $output
  $args = array(

    "meta_query" => array(
            array(
                'key' => 'meta',
                'value' => '$select_value',
                )
        )
);

query_posts( $args );
if ( have_posts() ) : while ( have_posts() ) : the_post();

        $output .= get_the_content();
endwhile; else: 

         $output .= "<p>sorry no post found with this value.</p>"

  endif; 

  echo $output;//you result here
  die(1);
 }
}
add_action('wp_ajax_load_posts', '_dot1_load_posts');
add_action('wp_ajax_no_priv_load_posts', '_dot1_load_posts');
功能_boom_load_posts(){
//根据所选选项在此处获取结果
如果(!空($_POST['selected_item'])){
$selected_item=$_POST['selected_item'];
$output='';
//其余代码根据所选的_项,将结果存储在$output中
$args=数组(
“元查询”=>数组(
排列(
'键'=>'元',
“值”=>“$select_value”,
)
)
);
查询职位($args);
if(have_posts()):while(have_posts()):the_post();
$output.=获取内容();
结束时;否则:
$output.=“很抱歉,找不到具有此值的帖子。

” endif; echo$output;//您可以在这里找到结果 模具(1); } } 添加操作(“wp\u ajax\u load\u posts”,“dot1\u load\u posts”); 添加操作(“wp\u ajax\u no\u priv\u load\u posts',“\u dot1\u load\u posts”);

进行必要的更改,因为我无法为您发布完整的代码,请做一些努力,上面的代码将帮助您了解它的工作原理。

在这里浏览一下有什么问题??你只需要编写jQuery、Ajax和一个PHP函数就可以返回结果。我读过一些这样的帖子,不幸的是没有成功,你能给我一个用我的代码编写的修复方法吗?谢谢你的帮助。@boom_shiva,是的,你是对的,但我不知道他们之间的关系如何,主要问题是获取select值并将其放入$select_值变量,你能帮我吗?你没有检查更新的答案吗?
function _boom_load_posts(){
 //get your results here as per selected option
 if(!empty($_POST['selected_item'])){
  $selected_item = $_POST['selected_item'];
  $output = '';
  //rest of the code as per selected_item, store result in $output
  $args = array(

    "meta_query" => array(
            array(
                'key' => 'meta',
                'value' => '$select_value',
                )
        )
);

query_posts( $args );
if ( have_posts() ) : while ( have_posts() ) : the_post();

        $output .= get_the_content();
endwhile; else: 

         $output .= "<p>sorry no post found with this value.</p>"

  endif; 

  echo $output;//you result here
  die(1);
 }
}
add_action('wp_ajax_load_posts', '_dot1_load_posts');
add_action('wp_ajax_no_priv_load_posts', '_dot1_load_posts');