我有一个选择选项,可以按类别过滤帖子。在选择更改时,我希望发送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,所以我现在知道这不是正确的方法去。
我不确定我所缺少的内容,因此将不胜感激!
谢谢