【问题标题】:HTML Table SBadmin Bootstrap From JSON来自 JSON 的 HTML 表 SBadmin 引导程序
【发布时间】:2015-07-16 08:18:37
【问题描述】:

我正在尝试从 JSON 构建一个表,但它没有正确加载数据。我想在表格中进行分页。我尝试遵循 SB Admin Bootstrap 中的格式,但无法加载任何数据。

我的 HTML 代码是:--

<div class="dataTable_wrapper">
 <table class="table table-striped table-bordered table-hover" id="agents">
  <thead>
    <tr>
     <th> employeeNumber</th>
     <th> fullName</th>
     <th>employeeEmail</th>
     <th>jobTitle</th>
     <th>deptNo</th>
     <th>deptName</th>
     <th>managerEmail</th>
     <th>managerId</th>
     <th>managerName</th>
     <th>assignmentLastModifiedBy</th>
     <th>assignmentLastModifiedDate</th>
     <th>country</th>
     <th>theatre</th>
     <th>paymentAnalyst</th>
     <th>commDateFrom</th>
    </tr>
   </thead>
  </table>
</div>

我的脚本是:--

<script>
  $(document).ready(function() {
  $('#agents').dataTable( {
  "ajax": 'http://localhost:8080/TestQuartz/json/agent.json'
    } );
    } );
</script>  

我的 JSON 文件是:--

{"agent":[
{"country":"AUS","employeeNumber":"397142","assignmentLastModifiedBy":null,"assignmentLastModifiedDate":null,"paymentAnalyst":"Khoo, T","fullName":"ABC","theatre":"ASIA","managerId":"249058","commDateFrom":"2015-06-15 00:00:00.0","deptName":"Global Virtual Sales - ","managerName":"Turner, J","jobTitle":"VIRTUAL SALES ACCOUNT ","managerEmail":"ert","deptNo":"115331063","employeeEmail":"bre"},
{"country":"DEU","employeeNumber":"196091","assignmentLastModifiedBy":null,"assignmentLastModifiedDate":null,"paymentAnalyst":"Hatlak, T","fullName":"Gros, S","theatre":"EURO","managerId":"52367","commDateFrom":"2006-11-01 00:00:00.0","deptName":"Global Virtual Sales - Germany HQ","managerName":"Mer, W","jobTitle":"TERRITORY BUSINESS MANAGER.III.SALES.XYZ","managerEmail":"wme","deptNo":"515031281","employeeEmail":"sim"},
{"country":"FIN","employeeNumber":"598401","assignmentLastModifiedBy":null,"assignmentLastModifiedDate":null,"paymentAnalyst":"Hatlak, T","fullName":"Kur, Es","theatre":"EURO","managerId":"144218","commDateFrom":"2011-10-01 00:00:00.0","deptName":"EU SS Geo Finland OTHER","managerName":"Lunt, Tha","jobTitle":"CLIENT SERVICES MANAGER.II.SERVICE SALES.XYZ","managerEmail":"tlu","deptNo":"561038082","employeeEmail":"eku"},
{"country":"USA","employeeNumber":"399411","assignmentLastModifiedBy":null,"assignmentLastModifiedDate":null,"paymentAnalyst":"Spaulding, S,"fullName":"Hen, Cr Jo","theatre":"US","managerId":"153592","commDateFrom":"2015-06-22 00:00:00.0","deptName":"Michigan Select","managerName":"Wil, Sc A","jobTitle":"SYSTEMS ENGINEER-C.II.SALES.XYZ","managerEmail":"sco","deptNo":"020230434","employeeEmail":"cra"}
]}

谁能帮帮我?

问候。

【问题讨论】:

  • 你不需要 tbody 元素吗?
  • 理想情况下,引导程序会根据脚本自动加载 tbody。
  • 尝试将 json 文件中的 agent 更改为 data,或在 AJAX 请求中添加 'dataSrc': 'agent' 参数
  • 正如@vogomatix 所说,您需要将&lt;tbody&gt; 标记为空才能填充数据表
  • 用 sAjaxSource 改变 ajax。您使用的是哪个版本的数据表

标签: javascript json html datatables bootstrapping


【解决方案1】:

您的数据是从agent 对象而不是data 对象中提取的,因此您需要一个dataSrc。此外,您不是从数组中获取数据,而是从对象中获取数据,因此您需要使用列 data 选项。

<script>
$(document).ready(function() {
  $('#agents').dataTable( {
     "ajax": 'http://localhost:8080/TestQuartz/json/agent.json',
     "dataSrc": "agent",
     "columns": [
         { "data" : "employeeNumber"},
         { "data" : "fullName" },
         ....
         { "data" : "commDateFrom" }
     ]
  } );
} );
</script>

就样式而言,请记住使用Datatables Bootstrap integration 文件。 CSS 是标准 Datatables CSS 的替代品 - 您不需要两者。

【讨论】:

  • 感谢您的帮助。还有一个疑问..我试图保持表格的宽度不变,但它对相同的想法没有任何作用..
  • 将 class="table" 添加到表格元素中。如果您使用的是引导程序,则应将其拾取,并且表格应为包含 div 的全宽
  • 在我的答案底部添加了更多信息
  • 我可以使用滚动功能修复它..但是排序会自动选择为另一行...此外,如果我单独传递列的宽度,则不允许它...
猜你喜欢
  • 2016-01-19
  • 1970-01-01
  • 1970-01-01
  • 2014-03-14
  • 1970-01-01
  • 2022-11-30
  • 2021-02-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多