在选择更改wordpress上提交ajax请求表

时间:2018-09-04 08:41:09

标签: javascript ajax wordpress

我有一个选择选项,可以按类别过滤帖子。在选择更改时,我希望发送ajax请求并加载所选类别的帖子。我目前可以使用“提交”按钮来进行此操作,但是我需要使用它来进行选择选项的更改,但是我不能仅使用选择来使其起作用。

下面是我正在使用的脚本和表单,可以使用按钮提交。

null

我已经厌倦了将初始提交功能更改为以下功能,但是它什么也没做:

<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() { 添加到选择本身,但这将提交表单,并使您从页面移至表单操作的url,所以我现在知道这不是正确的方法去。

我不确定我所缺少的内容,因此将不胜感激!

谢谢

0 个答案:

没有答案