我对AJAX和Jquery很新,所以我想知道是否有人可以帮助我。
我做了一个AJAX搜索/过滤系统。当您发送表单时,新页面(filter_content.php)将加载到父页面(filter.php)。 filter_content.php的输出基于一些GET值,您可以在filter.php上填写表单
$("#filter").submit(function(event) {
event.preventDefault();
$("#result").html('');
var values = $(this).serialize();
$.ajax({
url: "filter_content.php",
type: "get",
data: values,
success: function(data){
$('#result').hide().html(data).fadeIn('normal');
},
error:function(){
$("#result").html('There is error while submit');
}
});
});
HTML:
<form action="" name="filter" method="get" id="filter">
<input type="text" name="s" value="<?php echo $_GET['s']; ?>" />
<select id="genre" name="genre">
<option value="0">Alle</option>
<option value="5">Deep house</option>
</select>
<input type="submit" name="submit" value="Filter" />
</form>
我现在遇到的问题是当我访问时“filter.php?query = hello”将使用“hello”填充搜索查询框,但加载了ajax的内容无法读取查询值,因此内容只会在没有任何条件的情况下显示。我希望有人可以帮助我!
提前致谢!
P.S。这是一个有效的例子:http://phpserver.de-breul.nl:8082/~106967/pov6/filter2.php
答案 0 :(得分:0)
最佳解决方案是让PHP代码从一开始就输出结果。
但如果您仍然希望客户进行搜索,请在有值时提交表单。
$(function(){
if ($('input[name="s"]').val().length>0) {
$("#filter").submit();
}
});