如何为两个元素设置一个事件处理程序



目前,第二个元素只有在第一个元素之后才会更改。

如果两个元素都是下拉框,并且在构造正确的 URL 时保持两个元素处于选中状态,无论哪个元素接收事件,是否可以对它们使用相同的事件处理程序?

$(function(){
   var url = '';
    $('#search_region').change(function () {
        url = $(this).val();
        window.location.hash = url;
         console.log(window.location.hash);
    });
    $('#search_categories').change(function () {
       if(url !==''){
         window.location.hash = url+"&"+$(this).val();
       }
        console.log(window.location.hash);
    });
});

目前,第二个元素仅在第一个元素之后才会更改 一个是。

在这种情况下,您可以将类别哈希值附加到区域

$('#search_region, #search_categories').change(function () {
   var regURL =  $('#search_region').val();    
   var catURL =  $('#search_categories').val();    
   window.location.hash += regURL + ( catURL ? ("&" + catURL) : "" );
   console.log(window.location.hash);
});
$(function() {
  const changeHash = () => if ($('#search_region').val())
    window.location.hash = 
        $('#search_region').val() + "&" + $('#search_categories').val();
  $('#search_region').change(changeHash);
  $('#search_categories').change(changeHash);
});
$(function(){
    $('#search_region, #search_categories').change(function () {
         ...Your logic
    });
});

欲了解更多信息:https://api.jquery.com/multiple-selector/

相关内容

  • 没有找到相关文章

最新更新