通过$_GET填充搜索框文本后如何自动触发ajax搜索提交?
问题原因
你的搜索逻辑仅绑定了keyup事件触发AJAX请求,页面加载时通过PHP填充到输入框的默认值不会触发键盘事件,且初始化调用load_data(1)时没有传入查询参数,默认查询为空,所以不会执行对应搜索。
最简解决方案
直接修改初始化时的load_data调用,读取输入框已有值传入即可,仅需修改1行代码:
// 把原来的 load_data(1); 替换为下面的代码 load_data(1, $('#search_box').val());
其他可选方案
如果后续还有其他逻辑绑定在keyup事件上,也可以选择手动触发输入框的keyup事件,效果一致:
在keyup事件绑定代码后新增一行:
$('#search_box').keyup(function(){ var query = $('#search_box').val(); load_data(1, query); }); // 新增下面这行 $('#search_box').trigger('keyup');
完整修改后JS代码参考
$(document).ready(function(){ // 修改初始化调用,传入搜索框已有值 load_data(1, $('#search_box').val()); function load_data(page, query = '') { $.ajax({ url:"fetch.php", method:"POST", data:{page:page, query:query}, success:function(data) { $('#dynamic_content').html(data); } }); } $(document).on('click', '.page-link', function(){ var page = $(this).data('page_number'); var query = $('#search_box').val(); load_data(page, query); }); $('#search_box').keyup(function(){ var query = $('#search_box').val(); load_data(1, query); }); });
内容的提问来源于stack exchange,提问作者drodsher
相关产品推荐
相关产品推荐

