Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对生成的行进行排序表排序器_Javascript_Jquery_Html Table_Tablesorter - Fatal编程技术网

Javascript 对生成的行进行排序表排序器

Javascript 对生成的行进行排序表排序器,javascript,jquery,html-table,tablesorter,Javascript,Jquery,Html Table,Tablesorter,目前,我有一个脚本,可以在键入(500ms)后从数据库获取信息。第一次,当我给出一个参数时,它是完全有效的,但是第二次,如果我给出另一个参数,它不会做正确的事情。当我单击表的标题时,它添加了15行,但是我首先删除了它们,我的查询限制为5行 如何解决这个问题 <html> <head> <script> jQuery(document).ajaxStop(function() {

目前,我有一个脚本,可以在键入(500ms)后从数据库获取信息。第一次,当我给出一个参数时,它是完全有效的,但是第二次,如果我给出另一个参数,它不会做正确的事情。当我单击表的标题时,它添加了15行,但是我首先删除了它们,我的查询限制为5行

如何解决这个问题

<html>
    <head>

        <script>

            jQuery(document).ajaxStop(function() {
                jQuery("#myTable").tablesorter();
            });

            var delay = (function() {
                var timer = 0;
                return function(callback, ms) {
                    clearTimeout(timer);
                    timer = setTimeout(callback, ms);
                };
            })();

            $(document).on("keypress", "#searchValue", function() {


                delay(function() {


                    $("#myTable tbody").empty();
                    var name = $("#searchValue").val();
                    $.post("<?php echo site_url('project/searchProject'); ?>",
                            {
                                name: name

                            },
                    function(data, status) {
                        var items = "";
                        data = $.parseJSON(data);
                        if (data.toString() !== "") {
                            $.each(data, function(index, item) {
                                items += "<tr>" + "<td>" + item.Code + "</td>";
                                items += "<td>" + item.Description + "</td>";
                                items += "<td>" + item.ProjectLeader + "</td>";
                                items += "<td>" + item.AccountManager + "</td>";
                                items += "</tr>";

                            });
                        }
                        $("#myTable tbody").append(items);


                    });

                }, 500);

            });

        </script>
    </head>


    <body>
        <input type='text' name='searchValue' id='searchValue'/>

        <br>
        <br>


        <table id='myTable' class='tablesorter'>
            <thead>
                <tr>
                    <th>Code</th>
                    <th>Description</th>
                    <th>Project leader</th>
                    <th>Account manager</th>
                </tr>
            </thead>
            <tbody>

            </tbody>
        </table>


    </body>
</html>

jQuery(文档).ajaxStop(函数(){
jQuery(“#myTable”).tablesorter();
});
变量延迟=(函数(){
var定时器=0;
返回函数(回调,毫秒){
清除超时(计时器);
定时器=设置超时(回调,毫秒);
};
})();
$(document).on(“keypress”上的“#searchValue”,函数(){
延迟(函数(){
$(“#myTable tbody”).empty();
变量名称=$(“#搜索值”).val();
$邮政编码(“,
{
姓名:姓名
},
功能(数据、状态){
var项目=”;
data=$.parseJSON(数据);
if(data.toString()!=“”){
$。每个(数据、功能(索引、项目){
items++=''++''+item.Code++;
项目+=“”+项目说明+“”;
项目+=“”+item.ProjectLeader+“”;
items+=“”+item.AccountManager+“”;
项目+=“”;
});
}
$(“#我的表格正文”)。追加(项目);
});
}, 500);
});


代码 描述 项目负责人 客户经理
刚刚在TabeSorter上找到更新

附加项目后,请执行以下操作:

$("#myTable").trigger("update");

不再有bug。

因此,在每次请求后,您都会将结果附加到tbody。您是删除重复条目还是以某种方式合并它们?在发出请求之前,我使用.empty()删除表中的所有行。