Javascript 过滤HTML表-Ajax
使用下面的脚本,当我开始在我的表中搜索Javascript 过滤HTML表-Ajax,javascript,jquery,ajax,Javascript,Jquery,Ajax,使用下面的脚本,当我开始在我的表中搜索Facebook时,它会将获取的Facebook附加到表中,现在表中有两个Facebook数据。当我清除搜索输入时,表必须移动到默认状态,即拥有所有项 为什么我的剧本没有这样做 PS:对不起,我的英语不好 <script> $(document).ready(function () { var typingTimer; var doneTypingInterval = 100;
Facebook
时,它会将获取的Facebook
附加到表中,现在表中有两个Facebook
数据。当我清除搜索输入时,表必须移动到默认状态,即拥有所有项
为什么我的剧本没有这样做
PS:对不起,我的英语不好
<script>
$(document).ready(function () {
var typingTimer;
var doneTypingInterval = 100;
$("#myInput").on('keyup', function () {
clearTimeout(typingTimer);
if ($('#myInput').val()) {
typingTimer = setTimeout(doneTyping, doneTypingInterval);
}
});
});
//user is "finished typing," do something
function doneTyping() {
var key = $('#myInput').val();
if (key.length >= 1) {
$.ajax({
url: '/customer/search/?myInput='+key,
type: 'GET',
beforeSend: function () {
$("#table").slideUp('fast');
},
success: function (data) {
console.log(data);
$("#table").slideDown('fast');
var table = $("#table tbody");
$.each(data, function(idx, elem){
table.append(
"<tr><td></td> <td>"+elem.name+"</td><td>"+elem.phone+"</td><tr>"
);
});
}
});
}
}
</script>
$(文档).ready(函数(){
变量输入定时器;
var-doneTypingInterval=100;
$(“#myInput”)。在('keyup',函数(){
clearTimeout(键入计时器);
if($('#myInput').val()){
typingTimer=setTimeout(doneTyping,doneTypingInterval);
}
});
});
//用户正在“完成键入”,请执行某些操作
函数doneTyping(){
var key=$('#myInput').val();
如果(key.length>=1){
$.ajax({
url:“/customer/search/?myInput=”+键,
键入:“GET”,
beforeSend:函数(){
$(“#表”).slideUp('fast');
},
成功:功能(数据){
控制台日志(数据);
$(“#表”).slideDown('fast');
var表=$(“#表体”);
$.each(数据、函数(idx、元素){
表1.1追加(
“”+elem.name+“”+elem.phone+“”
);
});
}
});
}
}
您添加了一个if(key.length>=1)
条件,因此如果清除搜索输入,它将不会再次调用ajax函数。您应该删除此条件。但当我清除时,它不会移动到默认状态?它仍然有重复的数据。事实上,您应该在“success”函数中添加一些内容来清除该表。与table.html(“”)类似,仅在$.each()之前。