重定向输入按javascript(但形式硬连接到插件,所以必须使用输入类而不是ID)

问题描述:

所以我使用一个名为FacetWP的插件用于wordpress并创建一个前端搜索。当我按下回车键时,我希望搜索输入重定向。搜索输入称为方面。重定向输入按javascript(但形式硬连接到插件,所以必须使用输入类而不是ID)

<?php echo facetwp_display('facet', 'search'); ?></div> <!-- Search input--> 

在HTML中搜索输入看起来是这样,但我不能编辑它

<input type="search" class="facetwp-search" placeholder=""> 

所以我必须通过类调用它,而不是ID,因为我不能添加一个ID

到目前为止我有

<script> 
$("#facetwpsearch").keyup(function(e){ 
if(e.keyCode == '13') 
{ 
function fwp_redirect() { 
var query = FWP.build_query_string(); 
window.location.href = '/program-filter/?' + query; 
} 
}); 
<script> 

帮助表示感谢,谢谢!

+0

'$( “#facetwpsearch”)' - 的'#'使得它看起来由一个元素ID。另外,在你的课程中,你有一个''',在这里它没有。 ('。facetwp-search')。keyup(function(e){ if($。“facetwp-search”)' – neilsimp1

+0

我的新代码包含您的修补程序:@ neilsimp1 '' 但是,不会触发搜索。 – davethomasrichardson

你的代码只是在按下enter键的时候声明一个函数,而不是调用它。

它应该是这样的:

<script> 
function fwp_redirect() { 
    FWP.parse_facets(); 
    FWP.set_hash(); 
    var query = FWP.build_query_string(); 
    window.location.href = '/program-filter/?' + query; 
} 

$(".facetwpsearch").keydown(function(e){ 
    if(e.keyCode == '13') { 
     fwp_redirect(); 
    }  
}); 
<script> 

有一个可行的解决方案:

<script> 
    function fwp_redirect() { 
     FWP.parse_facets(); 
     FWP.set_hash(); 
     var query = FWP.build_query_string(); 
     window.location.href = '<?php echo get_permalink(get_page_by_path('documents')); ?>/?' + query; 
    } 
    // redirect on "enter" key press 
    jQuery('body').on('keyup', '.facetwp-search', function(e) { 
     if(e.keyCode == '13') { 
      fwp_redirect(); 
     } 
    }); 
</script>