Динамически заполненный выбор с помощью ajax в WordPress - PullRequest
0 голосов
/ 01 мая 2018

Я хочу использовать значение из моего первого раскрывающегося списка в запросе MySQL для создания второго раскрывающегося списка. Я делаю это в WordPress и пытался изменить код, который я использовал для плагина формы, чтобы применить к закодированной форме. Но мой код не заполняет второй выпадающий список.

<form id="page-changer" action="" method="post"> <?php

$chart_types = $wpdb->get_results( "SELECT page_id, title FROM master_chart WHERE mod_id=$mod_id AND (geo_type=$geo_type OR geo_type IS NULL) ORDER BY sequence" );

    echo '<select id="chart_type" required style="width: 100%; margin-bottom: 15px;"><option value="" disabled selected>Select Chart Type</option>';

    foreach ($chart_types as $chart_type) :
        echo '<option value="'.$chart_type->page_id.'">'.$chart_type->title.'</option>';
    endforeach;

    echo '</select>'; ?>

    <script type="text/javascript">
        jQuery(document).ready(function(){

            jQuery('#chart_type').change(function(){
                var chartPOP=jQuery('#chart_type').val();

            jQuery('#response').empty();
                jQuery.ajax({
                    url:"<?php bloginfo( 'wpurl' ); ?>/wp-admin/admin-ajax.php",
                    type:'POST',
                    data:'action=populate_chart&pageID=' + chartPOP,

                    success:function(results) {
                        jQuery('#response').append(results);
                    }
                });
            });
        });
    </script> <?php

echo '<select id="response"><option value="" disabled selected>Select Frequency</option></select>';

function populate_chart() {

    if( isset( $_POST['pageID'] ) ) :

        $page_id=$_POST['pageID'];

        global $wpdb;

        $frequencies = $wpdb->get_results( "SELECT title FROM master_chartmeta WHERE measure >= $measure_toggle AND page_id=$page_id");

        foreach( $results as $rows ) :
            $option .= '<option value="'.$rows->title.'">';
            $option .= $rows->title;
            $option .= '</option>';
        endforeach;

        echo $option;
        die();

    endif;
}

add_action( 'wp_ajax_nopriv_populate_chart', populate_chart );
add_action( 'wp_ajax_populate_chart', populate_chart );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...