我有一个小的df = df.groupby(['key1', 'key2']).size().unstack()
脚本,通过它我可以搜索和加载结果而无需重新加载或重定向页面:
ajax
它可以工作,但是有问题。在$(document).ready(function(){
$('#db-search').keyup(function(){
var txt = $(this).val();
if(txt != ''){
$('#db-search-results').html('');
$.ajax({
url: 'search.php',
method: 'post',
data:{search:txt},
dataType: 'text',
success:function(data){
$('#db-search-results').html(data);
}
});
} else{
//reload previus data
}
});
});
字段中输入任何内容之前,我已经在#db-search
内部显示了来自数据库的所有结果。现在,当我正在搜索某些内容时,所有以前的数据都将被这些新结果替换,但是如果我清除搜索字段,我的结果就消失了(没关系),但是我的先前数据没有回来。
清除该搜索字段后,是否可以保留以前的数据?
PS:当前,我只是在执行#db-search-results
查询,然后使用SELECT *
加载它,但这是一个额外的查询,我宁愿搜索另一种方法:D < / p>
答案 0 :(得分:2)
您可以在页面加载后将其存储在变量中,并在需要时显示它:
$(document).ready(function(){
var default_data = $('#db-search-results').html();
$('#db-search').keyup(function(){
var txt = $(this).val();
if(txt != ''){
$('#db-search-results').html('');
$.ajax({
url: 'search.php',
method: 'post',
data:{search:txt},
dataType: 'text',
success:function(data){
$('#db-search-results').html(data);
}
});
} else{
$('#db-search-results').html(default_data);
}
});
});
答案 1 :(得分:0)
我希望这对您有帮助
$(document).ready(function(){
var previousData='';
$('#db-search').keyup(function(){
var txt = $(this).val();
if(txt != ''){
$('#db-search-results').html('');
$.ajax({
url: 'search.php',
method: 'post',
data:{search:txt},
dataType: 'text',
success:function(data){
previousData=data;
$('#db-search-results').html(data);
}
});
} else{
//reload previus data
$('#db-search-results').html(previousData);
}
});
});