目前,第二个元素只有在第一个元素改变后才会改变。
如果两个元素都是下拉框的,并且在构造正确的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);
});
});
最佳答案
目前,第二个元素只在第一个元素之后才改变
一个是。
在这种情况下,可以将category的hash值附加到region
$('#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);
});
关于javascript - 如何为两个元素设置一个事件处理程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48623369/