【发布时间】:2017-03-30 23:09:24
【问题描述】:
当我们点击一个单选按钮时,它会运行一个onchange jQuery 函数。但是,如果我们直接通过链接参数检查同一个单选按钮,则不会调用该函数。请问,这个怎么解决?我尝试将onchange 更改为onclick,但没有成功。
我正在处理的页面:一旦手动选择了任何 Store,onchange 函数将隐藏 Store DIV 并显示 Category DIV,模拟步进过滤器。 http://www.hotsales.com.br/procurar/
这是自动选择某个商店的直接链接参数。但这样一来,onchange 函数并没有运行,所以 Store DIV 仍然可见,Category DIV 仍然隐藏。 http://www.hotsales.com.br/procurar/?offer_store=852
这是在选择 Store 时应该运行的第一个函数(手动或通过直接链接)。
/* AJAX SEARCH*/
$(document).on( 'change', '.advanced-search input', function(){
start_ajax_search3();
$.ajax({
url: $('.advanced-search').attr('action'),
data: $('.advanced-search').serialize(),
success: function( response ){
handle_ajax_search_response( response ); /*this function hide/show desired DIV*/
},
complete: function(){
end_ajax_search();
}
});
});
这是隐藏/显示 DIV 的方式:
function handle_ajax_search_response( response ){
var $response = $('<div>'+response+'</div>');
$('.ajax-results').html( $response.find('.ajax-results').html() );
$('.ajax-sidebar').html( $response.find('.ajax-sidebar').html() );
$('.category-filter').show();
$('.store-filter').hide();
$('.offer-type-filter').show();}
【问题讨论】:
-
通过链接参数检查复选框的内容是什么?后端?
-
只要让它在页面加载时调用相关单选按钮上的
.click() -
@Panomosh 但要检查的条件不是页面加载,而是 url 中的参数。这个想法很好,但您必须根据您所说的参数有条件地调用该脚本。如果服务器观察到该参数和检查,那么在加载时运行 click callbaclk 的包含的脚本应该也是如此。
-
谢谢大家!亚历山德罗的建议对我有用。
标签: javascript jquery html