【发布时间】:2021-04-29 03:45:08
【问题描述】:
我的代码运行良好,但我需要在其中添加 2 个下拉菜单:
这是我输入值的地方:
<form>
<input type="text" name="keyword" id="keyword" onkeyup="fetch()" placeholder="Search..">
</form>
我希望它看起来像这样:
<form>
<input type="text" name="keyword" id="keyword" onkeyup="fetch()" placeholder="Search..">
<select>
<option>location category</option>
<option>option2</option>
</select>
<select>
<option>category</option>
<option>option2</option>
</select>
</form>
我把这段代码放在functions.php中它工作正常
<script type="text/javascript">
function fetch(){
jQuery.ajax({
url: '<?php echo admin_url('admin-ajax.php'); ?>',
type: 'post',
data:{ action: 'data_fetch', keyword: jQuery('#keyword').val() },
success: function(data) {
jQuery('#datafetch').html( data );
}
});
}
</script>
<?php
}
// the ajax function
add_action('wp_ajax_data_fetch' , 'data_fetch');
add_action('wp_ajax_nopriv_data_fetch','data_fetch');
function data_fetch(){
$the_query = new WP_Query(
array(
'posts_per_page' => -1,
's' => esc_attr( $_POST['keyword'] ),
'post_type' => 'locations'
)
);
if( $the_query->have_posts() ) :
while( $the_query->have_posts() ): $the_query->the_post();
$myquery = esc_attr( $_POST['keyword'] );
$a = $myquery;
$search = get_the_title();
if( stripos("/{$search}/", $a) !== false) {?>
<div class="city-results">
<a href="<?php the_permalink();?>">
<h3>
<?php the_title();?>
</h3>
</a>
</div>
<?php }
endwhile;
wp_reset_postdata();
endif;
die();
}
?>
我想我们需要编辑这个获取数据的区域
data:{ action: 'data_fetch', keyword: jQuery('#keyword').val() },
我尝试使用此方法但不起作用:
data:{ action: 'data_fetch', keyword: jQuery('#keyword , #keyword2').val() },
但我是 Jquery/Ajax 的菜鸟
如果有人在此帮助我,请提前致谢
【问题讨论】:
标签: javascript php jquery ajax wordpress