可能有一种更简单的方法来实现我想要做的事情,我不认为我完全理解$.extend()
功能,但我在这里寻求建议:
我在索引上定义了这个自定义网格对象:
var grid = $('.grid').loadGrid({
inlineEditing:<?php echo $edit ? 'true' : 'false'; ?>,
adding:<?php echo $edit ? 'true' : 'false'; ?>,
deleting:<?php echo $edit ? 'true' : 'false'; ?>,
pagerLocation:"top",
width:1320,
loadComplete: function() {
exp_sql = $(this).data().exp_sql;
}
});
正如您所看到的,当PHP处理页面时,会解决一些参数。
我在页面的下面有几个网格预先定义了一些var检查:
<?
$tab = '1';
if(!@in_array($tab,$SECTIONS,true) AND $LEVEL != 1){ $edit = 0;}
?>
<table class="grid cat" action="div-m.php" title="Master catalogue info">
<th col="Catalogue" editable="<?php echo $edit ? 'select' : ''; ?>">Catalogue No</th>
<th col="ISRC" editable="<?php echo $edit ? 'text' : ''; ?>">ISRC</th>
...
</table>
然后:
...
<table class="grid isrc" action="div-d.php" title="Digital / detailed info">
...
</table>
每个单独的表都有其唯一的date_ranges
(来自mysql表)
应该在每个表的主网格中定义..但因为我在同一页面上有几个网格我不能用PHP做。
所以问题是 - 我可以在表格之前将更多选项扩展到第一个定义的对象grid
,即:
<?php
$tab = '1';
$grid = 'cat';
if(!@in_array($tab,$SECTIONS,true) AND $LEVEL != 1){ $edit = 0;}
?>
<script type="text/javascript">
var date = {dateRange:"street_date"};
$.extend.apply(grid, date);
// $.extend(grid, dateRange:"street_date");
</script>
<table class="grid cat" action="div-m.php" title="Master catalogue info">
以上显然不起作用......因为我认为应该再次调用loadGrid()
方法......