我是jquery的新手,我正尝试从现有的搜索页面进行实时搜索,您必须按Enter键。
这是我到目前为止所做的代码。
$( document ).ready(function() {
$('#searchhh').on("input", function() {
var searchquery = this.value;
$( "#searchform" ).submit();
});
});
这将获取表单的输入并在每次键提示时搜索它。问题是每次表单提交时用户键入的文本都会重置。我试图将搜索值作为get变量发布并将其显示为搜索栏值并在每次页面重新加载时自动聚焦到搜索栏中,这会将键入栏放在表单开头之前,而不是用户键入的内容
我觉得我接近这个错误的方式请帮助。 :)
答案 0 :(得分:2)
您需要通过ajax发布您的表单。这是一个简单的小提琴来证明这一点:
<强> HTML:强>
<form id="searchform" method="post" action="some_url_here">
<input type="text" name="search" placeholder="Search..." />
</form>
Results:<br>
<div id="results"></div>
<强> JS:强>
$('#searchform').on("keyup", "input", function() {
var form_data = $("#searchform").serialize();
var form_url = $("#searchform").attr("action");
var form_method = $("#searchform").attr("method").toUpperCase();
$.ajax({
url: form_url,
type: form_method,
data: form_data,
cache: false,
success: function(returnOutput){
// Your search results are outputted here
$("#results").html(returnOutput);
}
});
});