DataTable jQuery插件动态表的创建和数据

时间:2018-10-12 22:59:35

标签: javascript jquery datatable alasql

http://github.com/KenAdeniji/WordEngineering/blob/master/IIS/WordEngineering/alasql.org/AlaSQL.js_-_OnlyRefuseSubstainTheLine.html

我正在使用Ajax从数据库中检索整本圣经。 我正在使用AlaSql.js提取每个经文参考的神圣文本。 我想使用DataTables.net来显示每个经文参考的神圣文本。

        var isPostBack = false;
        var dataSet = null;

        function dataParse()
        {
            document.getElementById("resultSet").innerHTML = "";

            sqlStatements = 
            [
                `SELECT * FROM ? WHERE chapterIdSequence = 22`,
                `SELECT * FROM ? WHERE bookId = 43 AND chapterId = 1`
            ];

            for
            (
                var sqlStatementId = 0, 
                    sqlStatementIdCount = sqlStatements.length;
                sqlStatementId < sqlStatementIdCount;
                ++sqlStatementId
            )
            {
                var alasResult = alasql
                (
                    sqlStatements[sqlStatementId], [dataSet]
                );


                var resultTable = document.createElement("table");
                resultTable.id = "resultTable" + sqlStatementId;
                let myTable = $('#' + resultTable.id).DataTable
                ( 
                    {
                        "data": alasResult,
                        "columns": [
                            { "data": "verseIdSequence" },
                            { "data": "scriptureReference" },
                            { "data": "KingJamesVersion" }
                        ],
                        destroy: true
                    }
                );
                //document.getElementById("resultSet").appendChild(myTable);
                $("#resultSet").append(myTable);
                //scriptLiteral9432.renderDataTable(alasResult, "resultSet")
            }
        }

        function querySubmit()
        {
            if (dataSet) { dataParse(); return; }
            var request = {};
            //request["scriptureReference"] = scriptureReference;
            var requestJson = JSON.stringify(request);

            $.ajax
            ({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: 
                    "/WordEngineering//AlaSQL.js/AlaSQL.js_-_OnlyRefuseSubstainTheLine.asmx/Query",
                data: requestJson,
                dataType: "json",
                success: function(data) 
                {
                    dataSet = JSON.parse(data.d);
                    dataParse();
                },
                error: function(xhr)
                { 
                    $("#resultSet").html
                    (
                        'Status: ' + xhr.status + " | " + 
                        'StatusText: ' + xhr.statusText + " | " +
                        'ResponseText: ' + xhr.responseText
                    );
                } 
            });
        }

        function pageLoad()
        {
            if (isPostBack === false)
            {
                $.getScript
                ( 
                    "/WordEngineering/WordUnion/9432.js", 
                    function( data, textStatus, jqxhr ) 
                {
                    var scriptureReference = 
                        scriptLiteral9432.getParameterByName
                        (
                            "scriptureReference"
                        );
                    if (scriptureReference)
                    {
                        document.getElementById
                        (
                            "scriptureReference"
                        ).value = scriptureReference;
                    }   
                    scriptLiteral9432.renderBibleVersionSelect();
                    var bibleVersion = 
                        scriptLiteral9432.getParameterByName
                        (
                            "bibleVersion"
                        );
                    if (bibleVersion)
                    {
                        document.getElementById
                        (
                            "bibleVersion"
                        ).value = bibleVersion;
                    }   
                    querySubmit();
                    isPostBack = true;  
                });
            }
            else
            {
                querySubmit();
            }
        }

        window.addEventListener("load", pageLoad, false);

        document.getElementById
        (
            "submitQuery"
        ).addEventListener
        (
            "click",
            querySubmit,
            false
        );

0 个答案:

没有答案