目前第二个元素只在第一个元素被改变后才会被改变。
是否可以在两个元素上使用相同的事件处理程序,如果它们都是下拉框并且在构造正确的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);
});
});
答案 0 :(得分:4)
目前,第二个元素仅在第一个元素之后发生变化 一个是。
在这种情况下,您可以将类别的哈希值附加到区域
$('#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);
});
答案 1 :(得分:2)
$(function() {
const changeHash = () => if ($('#search_region').val())
window.location.hash =
$('#search_region').val() + "&" + $('#search_categories').val();
$('#search_region').change(changeHash);
$('#search_categories').change(changeHash);
});
答案 2 :(得分:-1)
$(function(){
$('#search_region, #search_categories').change(function () {
...Your logic
});
});