簡體   English   中英

Json對象轉換為數據表

[英]Json object converted into a Datatable

使用服務器調用,我的Web應用程序的用戶正在創建json對象d。 該對象包含許多鍵(例如“ Mean”,“ Stdev”等)。 用戶正在更改網頁上的基礎時間序列。

    <script type="text/javascript">
        function myFunction(d) {
            $('#myid').html(d["Mean"])
        }
    </script>

執行jquery $ .POST,如果成功,則返回json對象並調用上述方法。 以上方案已經有效。 此更新

    <div class="container-fluid">
        <div class="row-fluid">
            <div id="myid">some value</div>
        </div>
    </div>

但是,我真的很想更新一個完整的數據表(如http://datatables.net/examples/advanced_init/中的數據表 )。

在運行時,我不知道d中有什么鍵。 datatables.js是表中動態數據的正確工具嗎?

是的,這就是dataTables.js的用途。 盡管不清楚您對datatabletabledataTable確切含義。

dataTable.js負責在您的頁面上顯示(呈現)類似表格的表,並具有很多功能(如排序,搜索,過濾,分頁,編輯等),否則這些功能將很難實現。 它不是幫助您維護數據庫表(或數據表)中字段的工具。 (但是可以)

dataTable.js使用服務器端代碼以及一些巧妙的輔助函數來幫助您通過PHP使用mySql數據庫。 但這並不依賴於此示例。 您可以使用任何服務器端代碼和任何數據庫,只要它能夠理解從dataTables.js發送的查詢並返回dataTables.js期望的json-data。

對於復雜的(DB)表操作,您需要編寫自己的服務器端代碼。

關於您的問題,我想您應該看看dataTables.js隨附的服務器端示例。

為了使用戶看到實際頁面上單元格或行值的單個值,用戶會看到,您應該查看列渲染示例。

不要將其視為答案,這只是冗長的評論。 准備使用dataTables.js與您的問題的工作代碼不同。

這是代碼的一部分。 它現在實際起作用。 但是,我發現這個概念(刪除內容並逐行添加)超級狡猾:

<div class="col-md-3">
                <table id="example" class="display" cellspacing="0" width="100%">
                    <thead>
                        <tr>
                            <th></th>
                            <th>Value</th>
                        </tr>
                    </thead>
                </table>
            </div>



            <script type=text/javascript>
                $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};

                $TABLE = $('#example').DataTable({
                                "info": false,
                                "bPaginate": false,
                                "paging": false,
                                "bScrollCollapse": false,
                                "search": false,
                                "sort": false,
                                "filter": false}

                );

            </script>

            <script type="text/javascript">
                function myFunction(d)
                {
                    console.log("Refill table");
                    console.log(d);
                    $TABLE.clear();
                    for (var key in d) {
                        $TABLE.row.add([key, d[key]]);
                    }
                    $TABLE.draw();
                }
            </script>

請注意,我尚未包括d的計算代碼(在服務器上通過$ .ajax POST調用完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM