如何将JSON数据加载到Bootstrap表中?

时间:2016-06-14 14:11:34

标签: javascript jquery bootstrap-table

有一种方法可以使用javascript(http://jsfiddle.net/8svjf80g/1/)将JSON数据加载到Bootstrap表中,但同样的例子并不适用于我。

这是代码 -



 var $table = $('#table');
    var mydata = 
[
    {
        "id": 0,
        "name": "test0",
        "price": "$0"
    },
    {
        "id": 1,
        "name": "test1",
        "price": "$1"
    },
    {
        "id": 2,
        "name": "test2",
        "price": "$2"
    },
    {
        "id": 3,
        "name": "test3",
        "price": "$3"
    },
    {
        "id": 4,
        "name": "test4",
        "price": "$4"
    },
    {
        "id": 5,
        "name": "test5",
        "price": "$5"
    },
    {
        "id": 6,
        "name": "test6",
        "price": "$6"
    },
    {
        "id": 7,
        "name": "test7",
        "price": "$7"
    },
    {
        "id": 8,
        "name": "test8",
        "price": "$8"
    },
    {
        "id": 9,
        "name": "test9",
        "price": "$9"
    },
    {
        "id": 10,
        "name": "test10",
        "price": "$10"
    },
    {
        "id": 11,
        "name": "test11",
        "price": "$11"
    },
    {
        "id": 12,
        "name": "test12",
        "price": "$12"
    },
    {
        "id": 13,
        "name": "test13",
        "price": "$13"
    },
    {
        "id": 14,
        "name": "test14",
        "price": "$14"
    },
    {
        "id": 15,
        "name": "test15",
        "price": "$15"
    },
    {
        "id": 16,
        "name": "test16",
        "price": "$16"
    },
    {
        "id": 17,
        "name": "test17",
        "price": "$17"
    },
    {
        "id": 18,
        "name": "test18",
        "price": "$18"
    },
    {
        "id": 19,
        "name": "test19",
        "price": "$19"
    },
    {
        "id": 20,
        "name": "test20",
        "price": "$20"
    }
];

$(function () {
    $('#table').bootstrapTable({
        data: mydata
    });
    console.log(mydata);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<head>
    <title>Table Data Addition</title>
    <meta charset="utf-8">
    <link rel="stylesheet" href="bootstrap.min.css">
    <link rel="stylesheet" href="bootstrap-table.css">
    <script src="jquery.min.js"></script>
    <script src="bootstrap.min.js"></script>
    <script src="bootstrap-table.js"></script>
</head>
<body>
    <div class="container">
        <table id="table"
        data-toggle="table"
               data-toolbar="#toolbar"
               data-height="460">
        <thead>
            <tr>
                <th data-field="id">Item ID</th>
                <th data-field="name">Item Name</th>
                <th data-field="price">Item Price</th>
            </tr>
        </thead>
    </table>
    </div>
</body>
</html>
&#13;
&#13;
&#13;

请各位帮助确定我遗失的部分。

这是CSS和JS版本 -

  1. bootstrap.min.css v.3.2
  2. bootstrap-table.css v.1.8.1
  3. jquery.min.js v.3.0
  4. bootstrap.min.js v.3.2
  5. bootstrap-table.js v.1.10.1。

1 个答案:

答案 0 :(得分:24)

回答原始问题:

嗯,你的代码中有一些错误:

  1. 您导入jQuery两次(其中一次是在启动html标记之前,我认为这是不允许的),我已修复此问题。
  2. 您在代码段中引用的文件不存在,因此我已经为您解决了这个问题。
  3. 我不确定你要用data-toggle="table" data-toolbar="#toolbar"完成什么,但当我删除它时,表开始工作。
  4. 将JSON数据加载到Bootstrap表中的示例:

     var $table = $('#table');
        var mydata = 
    [
        {
            "id": 0,
            "name": "test0",
            "price": "$0"
        },
        {
            "id": 1,
            "name": "test1",
            "price": "$1"
        },
        {
            "id": 2,
            "name": "test2",
            "price": "$2"
        },
        {
            "id": 3,
            "name": "test3",
            "price": "$3"
        },
        {
            "id": 4,
            "name": "test4",
            "price": "$4"
        },
        {
            "id": 5,
            "name": "test5",
            "price": "$5"
        },
        {
            "id": 6,
            "name": "test6",
            "price": "$6"
        },
        {
            "id": 7,
            "name": "test7",
            "price": "$7"
        },
        {
            "id": 8,
            "name": "test8",
            "price": "$8"
        },
        {
            "id": 9,
            "name": "test9",
            "price": "$9"
        },
        {
            "id": 10,
            "name": "test10",
            "price": "$10"
        },
        {
            "id": 11,
            "name": "test11",
            "price": "$11"
        },
        {
            "id": 12,
            "name": "test12",
            "price": "$12"
        },
        {
            "id": 13,
            "name": "test13",
            "price": "$13"
        },
        {
            "id": 14,
            "name": "test14",
            "price": "$14"
        },
        {
            "id": 15,
            "name": "test15",
            "price": "$15"
        },
        {
            "id": 16,
            "name": "test16",
            "price": "$16"
        },
        {
            "id": 17,
            "name": "test17",
            "price": "$17"
        },
        {
            "id": 18,
            "name": "test18",
            "price": "$18"
        },
        {
            "id": 19,
            "name": "test19",
            "price": "$19"
        },
        {
            "id": 20,
            "name": "test20",
            "price": "$20"
        }
    ];
    
    $(function () {
        $('#table').bootstrapTable({
            data: mydata
        });
    });
    <html>
    <head>
        <title>Table Data Addition</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.10.1/bootstrap-table.min.css">
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.10.1/bootstrap-table.min.js"></script>
    </head>
    <body>
        <div class="container">
            <table id="table" data-height="460">
            <thead>
                <tr>
                    <th data-field="id">Item ID</th>
                    <th data-field="name">Item Name</th>
                    <th data-field="price">Item Price</th>
                </tr>
            </thead>
        </table>
        </div>
    </body>
    </html>