Отправить ajax форму запроса на выбор изменить WordPress - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть опция выбора для фильтрации сообщений по категориям. При выбранном изменении я хочу, чтобы ajax-запрос отправлялся и загружал сообщения выбранной категории. В настоящее время у меня это работает с помощью кнопки отправки, но мне нужно, чтобы это работало над изменением выбора, но я не могу заставить его работать только с помощью выбора.

Ниже приведен сценарий и форма, с которой я работаю при отправке с помощью кнопки.

<form action="<?php echo site_url(); ?>/wp-admin/admin-ajax.php" method="POST" id="filter" class="ghost-select">
            <?php
                if( $terms = get_terms( 'category', 'orderby=name' ) ) :
                    echo '<select id="categoryfilter" name="categoryfilter"><option>Select category...</option>';
                    foreach ( $terms as $term ) :
                        echo '<option value="' . $term->term_id . '">' . $term->name . '</option>';
                    endforeach;
                    echo '</select>';
                endif;
            ?>
            <!-- <button>Apply filter</button> -->
            <input type="hidden" name="action" value="myfilter">

          <!-- onchange="this.form.submit();" -->

        </form>


$('#filter').submit(function(){
  var filter = $('#filter');

$.ajax({
    url:filter.attr('action'), // ajax
    data:filter.serialize(), // form data
    type:filter.attr('method'), // POST
    beforeSend:function(xhr){
        // filter.find('button').text('Processing...'); // changing the button label
    },
    success:function(data){
        // filter.find('button').text('Apply filter'); // changing the button label back
        $('#response').html(data); // insert data
    }
});
return false;
});
});

Мне надоело менять начальную функцию отправки на следующую, но она ничего не делает:

$('#filter select').on('change', function() {

Я также пытался добавить onchange="this.form.submit();" к самому выделению, но это отправляет форму и переносит вас со страницы на URL-адрес действия формы, поэтому теперь я знаю, что это неправильный путь.

Я не уверен, что мне не хватает, поэтому любая помощь с этим будет принята с благодарностью!

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...