如何从可湿性粉剂数据库取值基于选定的选项值由onchange使用PHP?

时间:2017-11-15 作者:Manoj Kumar K

我已从WP db检索数据并显示在选择列表中。但我无法将所选选项值存储在php变量中。我无法根据选定的值显示数据。更改选择框时应显示数据(onChange)

<select id="mySelect" name="taskOption">
<option>Choose Your Area</option>
<?php
      $results = $wpdb->get_results( "SELECT * FROM $table_name"); 
        foreach ( $results as $result ) {
            echo \'<option  value="\'.$result->id.\'">\'.$result->area_name.\'</option>\';
        }
      ?>
                 </select>

1 个回复
SO网友:Piyush Rawat

您可以使用下面的示例在wordpress中使用Ajax。This 这篇文章很好地解释了这一点。

要使用的jquery主函数

wp_enqueue_script( \'ajax-scripts\', url-to-your-file/plugin-ajax.js\', __FILE__ ) , array( \'jquery\' ), \'1.0.0\', true );

jQuery(function($) {
$(document).ready(function(){
$(\'#mySelect\').on( \'change\' , function(){
    var newValue = $(this).val();
    $.ajax({
        type: \'POST\',
        url: ajaxurl, // use ajax_params.ajax_url if using in plugin
        dataType: \'json\',
        data: {
            action: \'yourFunction\',
            newValue: newValue
        },
        success: function(response) {
            console.log(response);
        },
        error: function(errorThrown){
            console.log(errorThrown);
        }    
      })
    })
   })
  });
挂接您的功能

add_action( \'wp_ajax_yourFunction\', \'yourFunction\' );
function yourFunction(){
    $newValue = $_POST[\'newValue\'];
    //Query whatever you want to with the $newValue
}

If you\'re using it in a plugin then you\'ll need to localize your script first.

//Localize the script for ajax purposes
wp_localize_script(
     \'ajax-scripts\',
\'ajax_params\',
array( 
    \'ajax_url\' => admin_url( \'admin-ajax.php\' )
)
);

结束