jquery - 如何一次加载 HTML 表格部分

标签 jquery html ajax twitter html-table

我有一个表,每次从下拉列表中选择一个新选项时,它都会异步重建。我能够调用电话并且正确生成了 HTML,但是当它通过网络发回时,如果尺寸太大,它就会中断。

我在想一个解决方案是查询表的各个部分,直到通过每次单独调用返回所有行。然后我想到了 Twitter 如何处理他们的提要并在用户滚动到列表底部时添加更多内容。

有什么建议吗?

以下是我正在尝试做的一些代码示例:

$('[id$=ddCorpIngredientClasses]').change(function () {

        callScriptMethod(
        'IngredientProperties.aspx/ReBuildCorpIngredientTable',

        { 'ingredientClass': $(this).val() },
        function (result) {
            $('[id$=_SlideOutPanelBodyTable]').empty();
            $(result).each(function () {

                var row = this.toString();

                $('[id$=_SlideOutPanelBodyTable]').append(row);

            });
            adjustBodytable();
        });

    });


function callScriptMethod(url, jsonObject, callback, async) {

    callback = callback || function () { };
    async = (async == null || async);

    $.ajax({
        type: 'POST',

    contentType: 'application/json; charset=utf-8',
    url: url,
    data: JSON.stringify(jsonObject),
    dataType: 'json',
    async: async,
    success: function (jsonResult) {
        if ('d' in jsonResult)
            callback(jsonResult.d);
        else
            callback(jsonResult);
    },
    error: function () {
        alert("Error calling '" + url + "' " + JSON.stringify(jsonObject));
        callback([]);
    }
});
}

最佳答案

使用SlickGrid使用 AJAX 数据源。 ( Demos here. )

基本上,您一次只能加载 50 行。当用户滚动时,将请求并无缝呈现接下来的 50 行。此外,SlickGrid 会在用户滚动时动态创建和删除 DOM 元素,因此实际行数永远不会超过屏幕上的行数。这意味着 SlickGrid 可以毫不费力地处理 数百万 行。

关于jquery - 如何一次加载 HTML 表格部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4347187/

相关文章:

javascript - 在 JavaScript 中重新加载页面后保持 HTML 表格顺序

javascript - 如何通过php和ajax创建通知?

javascript - 隐藏/显示按钮在 jquery 中不起作用

javascript - Rails3中动态更新html页面

jQueryUI 选项卡 : clear div of other tabs when tab is selected

html - 如何使用 Bootstrap 使面板标题可点击?

php - OOP PHP 文件中的 HTML 代码

php - HTML - 更改\更新页面内容而不刷新\重新加载页面

javascript - IE11 JS XMLHTTPRequest/XMLParser 丢弃 <body> 属性

javascript - 通过单击加载 URL 但不重新加载页面的链接来更改列的内容