我使用jquery数据表插件和编码器。在我的一个观点中,我有:
<table id="myDataTable" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<?php foreach($keys as $key): ?>
<th><?php echo $key; ?></th>
<?php endforeach; ?>
</tr>
</thead>
<tbody>
</tbody>
</table>
<script type="text/javascript">
$(document).ready(function () {
var oTable = $('#big_table').dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": 'datatable_controller/datatable',
"sPaginationType": "full_numbers",
"columns": [
{ "data": "id" },
{ "data": "message_id" },
{ "data": "subject" },
{ "data": "date" }
],
参考列结构,现在我在列字段名称(id、message-id、subject、date)中进行硬编码。我已经在数组$keys中有了这些,我在上面使用它来动态生成表HTML。是否有一种方法将$keys直接传递到"columns"选项中?
看起来你可以在你的javascript中的"columns"选项内使用PHP循环,如果我遵循正确的格式。类似这样的东西(显然未经测试)?
"columns": [
<?php foreach($keys as $key): ?>
{"data": "<?php echo $key ?>"},
<?php endforeach; ?>
],