我有一个页面,显示一个填充了MySQL数据的HTML表格,上面有一个搜索输入字段 当我使用该搜索(keyup)时,将调用AJAX脚本,并使用搜索结果缩小表内容。到目前为止一切都很好。
只有当我清除搜索字段时,我才会再次显示原始 HTML表格。 我认为问题是GET变量的最后一个字符不能被退格/删除 示例:
.../search.php?search=word
.../search.php?search=wor
.../search.php?search=wo
.../search.php?search=w
因此,它不会返回原始表状态,而是不断显示包含' W'
的所有条目。我的search.js:
$(document).ready(function() {
$('#spelerzoeken').keyup(function() {
var speler = $(this).val();
if (speler !== '') {
$.ajax({
url: 'includes/search.php?search=' + speler,
success: function(returnData) {
if (!returnData) {
$('.spelers').html('<span style="margin-top: 20px; margin-bottom: 20px; margin-left: 10px; display: block; width: 200px">Geen speler(s) gevonden.</span>');
} else {
$('.spelers').html(returnData);
}
}
});
}
});
})
答案 0 :(得分:1)
好吧,既然你有这条线:
if (speler !== '') {
它无法刷新原点。 因为如果您清除了所有输入(从&#39;到&#39;&#39;&#39;),条件就不会被填充,然后就不会刷新。
答案 1 :(得分:0)
那是因为你的动作监听器仅在值不为空时起作用。 您可以使用else语句显示原始搜索表。
if (speler !== '') {
$.ajax({
url: 'includes/search.php?search=' + speler,
success: function(returnData) {
if (!returnData) {
$('.spelers').html('<span style="margin-top: 20px; margin-bottom: 20px; margin-left: 10px; display: block; width: 200px">Geen speler(s) gevonden.</span>');
} else {
$('.spelers').html(returnData);
}
}
});
}
else
{
$.ajax({
url: 'includes/search.php?search=', //Here your AJAX request for the original table
success: function(returnData) {
if (!returnData) {
$('.spelers').html('<span style="margin-top: 20px; margin-bottom: 20px; margin-left: 10px; display: block; width: 200px">Geen speler(s) gevonden.</span>');
} else {
$('.spelers').html(returnData);
}
}
});
}