目前,第二个元素只有在第一个元素之后才会更改。
如果两个元素都是下拉框,并且在构造正确的 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/