如何改进搜索脚本?

时间:2012-04-12 17:59:46

标签: php javascript jquery mysql

我的页面上有这个搜索脚本,可以搜索显示的表格。该表与数据库中的PHP一起显示。它实际上是一个列表,这个列表在A到Z的超链接的帮助下按字母顺序排序。现在我需要搜索整个数据库而不是显示的数据库。任何帮助或资源都会有所帮助。 :)

$(document).ready(function() {

    $("#search").keyup(function() {

        if($(this).val() != "") {

            $("#some_table tbody>tr").hide();
            $("#some_table td:contains-ci('" + $(this).val() + "')").parent("tr").show();
        } else {
            $("#some_table tbody>tr").show();
        }
    });
});

$.extend($.expr[":"], {
    "contains-ci" : function(elem, i, match, array) {
        return (elem.textContent || elem.innerText || $(elem).text() || "").toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
    }
});

1 个答案:

答案 0 :(得分:0)

也许将服务器的结果作为json对象返回。

http://your.hostname/database.json返回[{id:1,name:'joe'},{id:2,name:'bob'},...]

然后,动态创建显示的表格。

function refreshTable() {
    $.ajax({
        url:'http://your.hostname/database.json',
        dataType:'json'
    }).done(function(json) {
        $('#my_table tbody tr').remove();
        for (i in json) {
            $('#my_table tbody').append($('<tr><td>'+json[i]['id']+'</td><td>'+json[i]['name']+'</td></tr>'));
        }
    });
}

在页面初次加载时调用refreshTable,或者在某些时间间隔内,或者当用户按下“刷新”按钮或其他内容时调用{{1}}。

glhf!